我有一个带有图标和文字的切换按钮,如上图所示(用绿色箭头指向)。我测试的大多数设备工作得很好。
到目前为止,两个三星平板电脑(三星Galaxy Tab 7.0和一个10英寸Galaxy Tab)存在这个问题,其中文本覆盖图标(用红色箭头指向),如下所示。
我已经尝试了所有的aligments,paddings等没有工作结果。
网络和SO出人意料地没有提出解决方案,也没有问题。
这是我现在用于切换按钮的XML。它在其他定义中包含在RelativeLayout中:
<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>
感谢您提供指示我正确方向的任何提示!
答案 0 :(得分:1)
实际上它不适用于较低的API
更改
android:button="@drawable/star_selector"
到
android:drawableLeft="@drawable/star_selector"
希望它会有所帮助。
答案 1 :(得分:0)
要正确使用crossVersion,您应该使用drawableStart而不是drawableLeft。此问题仅适用于Android 4.1 如果你使用drawableLeft,你将无法在text和drawable之间添加填充,但是使用drawableStart你可以使用&#34; drawablePadding&#34;属性
问候!!!