【问题标题】:Android - Text overlays icon on toggle buttonAndroid - 切换按钮上的文本覆盖图标
【发布时间】:2014-03-07 02:50:36
【问题描述】:

我有一个带有图标和文本的切换按钮,如上所示(用绿色箭头指向)。我测试过的大多数设备都运行良好。

到目前为止,只有两款三星平板电脑(三星 Galaxy Tab 7.0 和一款 10 英寸 Galaxy Tab)存在文本覆盖图标(用红色箭头指向)的问题,如下所示。

我已经尝试了所有的对齐、填充等,但没有任何结果。

令人惊讶的是,网络和 SO 没有提出解决方案或问题。

这是我现在用于切换按钮的 XML。它与其他定义一起被包装到一个相对布局中:

<ToggleButton
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:text="@string/label_subscriptions"
    android:id="@+id/subscription_button"
    android:textOff="@string/btn_subscribe"
    android:textOn="@string/btn_subscribed"
    android:button="@drawable/star_selector"
    android:background="@android:color/transparent"
    android:textColor="@color/textColor"
    android:layout_toLeftOf="@+id/navigation_next_item"
    android:layout_alignBottom="@+id/channel_headline_image"
    />

@drawable/star_selector 的定义如下:

<selector  xmlns:android="http://schemas.android.com/apk/res/android">
    <item android:state_checked="false" android:drawable="@drawable/ic_like" />
    <item android:state_checked="true" android:drawable="@drawable/ic_liked_fav" />
 </selector>

感谢您为我指明正确方向的任何提示!

【问题讨论】:

    标签: android android-layout user-interface samsung-mobile togglebutton


    【解决方案1】:

    实际上它不适用于较低的 API

    改变

     android:button="@drawable/star_selector"
    

    android:drawableLeft="@drawable/star_selector"
    

    希望它会有所帮助。

    【讨论】:

      【解决方案2】:

      要正确允许 crossVersion,您应该使用 drawableStart 而不是 drawableLeft。此问题仅在 Android 4.1 中出现 如果你使用 drawableLeft,你将无法在文本和 drawable 之间添加填充,但是使用 drawableStart 你可以使用“drawablePadding”属性

      问候!!!

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2019-02-03
        • 1970-01-01
        • 2014-12-24
        • 2013-11-22
        • 2022-06-23
        相关资源
        最近更新 更多