1. 程式人生 > >設定drawableRight等圖片離文字間隔太遠解決小竅門

設定drawableRight等圖片離文字間隔太遠解決小竅門

最近專案遇到,四個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
<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>

效果圖:


如果幫到你了,請幫忙留個腳印,謝謝!