最近项目遇到,四个Tab选项,其中一个Tab涉及到排序,因此需要给RadioButton加上两张图片表示升序或者降序。但是 用drawableRight加上图片之后,图片离总是在边上,离文字太远。百度了半天,可以给Android:drawablePadding一个负值,本以为图片会向左侧移动,但是没想到文字却向图片靠拢.,整体则变成右对齐,就当时那叫一个无语.
想了半天,既然文字向图片移动,那么我就给RadioButton来一个PaddingRight(比如给DrawablePadding负值为-15dip,那么就给PaddingRight15dip),然后,又变成居中了。虽然办法比较笨,但是解决了。
下面是代码:
XML:
- <RadioGroup
- android:id="@+id/rg_nav_content"
- android:layout_width="fill_parent"
- android:layout_height="wrap_content"
- android:background="#F2F2F2"
- android:orientation="horizontal">
- <RadioButton
- android:id="@+id/tab1"
- android:text="综合"
- style="@style/mall_goods_tab"
- android:checked="true"/>
- <RadioButton
- android:id="@+id/tab2"
- android:text="销量"
- style="@style/mall_goods_tab"
- />
- <RadioButton
- android:id="@+id/tab3"
- android:text="价格"
- android:paddingRight="20dp"
- style="@style/mall_goods_tab"
- android:button="@drawable/sort_up"
- android:drawablePadding="-15dp"
- android:drawableRight="@drawable/sort_up"
- />
- <RadioButton
- android:id="@+id/tab4"
- android:text="新品"
- style="@style/mall_goods_tab"
- />
-
-
- </RadioGroup>
- <style name="mall_goods_tab">
- <item name="android:textSize">@dimen/sp_18</item>
- <item name="android:textColor">@drawable/mall_tab_selector</item>
- <item name="android:gravity">center</item>
- <item name="android:layout_width">fill_parent</item>
- <item name="android:layout_height">@dimen/dp_66</item>
- <item name="android:button">@null</item>
- <item name="android:paddingTop">@dimen/dp_15</item>
- <item name="android:paddingBottom">@dimen/dp_15</item>
- <item name="android:singleLine">true</item>
- <item name="android:background">@color/white</item>
- <item name="android:layout_weight">1.0</item>
- </style>
效果图:
如果帮到你了,请帮忙留个脚印,谢谢!