2015-09-15 32 views
0

有佈局類似內容ALertDialog:在API級別16如何設置單選按鈕的左邊距動態基於API級別

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 
android:layout_width="match_parent" 
android:layout_height="wrap_content" 
android:orientation="vertical" 
android:gravity="center" 
android:layout_gravity="center" 
> 

<RadioGroup 
    android:layout_width="match_parent" 
    android:layout_height="wrap_content" 
    android:orientation="vertical" 
    android:paddingTop="30dp" 
    android:paddingBottom="30dp" 
    android:paddingLeft="35dp" 
    android:paddingRight="35dp"> 

    <RadioButton 
     android:id="@+id/bt1" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:button="@drawable/radiobutton_selector" 
     android:text="button one" /> 

    <RadioButton 
     android:id="@+id/bt2" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:button="@drawable/radiobutton_selector" 
     android:text="button two" /> 
</RadioGroup> 

<LinearLayout> ... </LinerLayout> 
</LinearLayout> 

在單選按鈕在該對話框的左側更多的空間。嘗試以下似乎不工作:

group.setPadding(10, 10, 10, 10); 

是否有不同的方式來做到這一點?如何爲不同的API級別動態設置填充?

+0

你爲什麼不使用自定義圖像與單選@詹姆斯·巴卡的答案嗎? – Chitrang

回答

0

這可以通過設置android:button="@null"android:drawableLeft ="name"來實現。的和可拉伸之間

<RadioGroup 
     android:id="@+id/radios" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:layout_alignParentRight="true" 
     android:inputType="text" 
     android:orientation="vertical" > 

     <RadioButton 
      android:id="@+id/first" 
      android:button="@null" 
      android:drawableRight="@android:drawable/btn_radio" 
      android:drawablePadding="20dp" 
      android:layout_width="200dip" 
      android:layout_height="wrap_content" 
      android:text="@string/first" 
      android:textSize="20dip" /> 

     <RadioButton 
      android:id="@+id/second" 
      android:button="@null" 
      android:drawableRight="@android:drawable/btn_radio" 
      android:drawablePadding="20dp" 
      android:layout_width="200dip" 
      android:layout_height="wrap_content" 
      android:text="@string/second" 
      android:textSize="20dip" /> 
    </RadioGroup> 
  • 填充被設定爲android:drawablePadding="10dp"

在API < = 16可以設置填充留在單選按鈕相對於所述單選按鈕的視圖邊界填充設置。此外,補丁9背景也會相對於視圖更改視圖邊界。

在API 17上,左填充與可繪製單選按鈕有關。這同樣適用於大約九個補丁。

這個答案是基於question

相關問題