RadioButton動態新增drawable

2021-07-30 07:17:20 字數 2602 閱讀 2358

在xml中實現的效果,在**中都可實現,但有時候對api不太了解的話就會出現很多問題,

如果讓你在xml檔案中給radiobutton控制項新增drawable,你肯定覺得很簡單

<

radiogroupandroid

:id=

"@+id/rg"

android

:orientation=

"horizontal"

android

:layout_centerinparent=

"true"

android

:layout_width=

"wrap_content"

android

:layout_height=

"wrap_content"

>

<

radiobuttonandroid

:background=

"@drawable/rb_selector"

android

:text=

"按鈕"

android

:button=

"@null"

android

:padding=

"10dp"

android

:layout_width=

"wrap_content"

android

:layout_height=

"wrap_content"

/>

<

radiobuttonandroid

:id=

"@+id/radiobutton"

android

:layout_width=

"wrap_content"

android

:layout_height=

"wrap_content"

android

:background=

"@drawable/rb_selector"

android

:button=

"@null"

android:drawableright="@drawable/hot"

android

:padding=

"10dp"

android

:text=

"按鈕"

/>

radiogroup>

通過設定相應的drawable***屬性即可

但通過**實現的話就要注意了

rggroup = (radiogroup)findviewbyid(r.id.re_group);       

rbweihui = (radiobutton)findviewbyid(r.id.rb_wei_hui);       

rbadd = (radiobutton)findviewbyid(r.id.rb_add);       

rbmine = (radiobutton)findviewbyid(r.id.rb_mine);       

//定義底部標籤大小        

drawable drawableweihui =getresources().getdrawable(r.drawable.btn_tab_wei_hui_selector);       

drawableweihui.setbounds(0, 0, 69, 69);//第一0是距左右邊距離,第二0是距上下邊距離,第三69長度,第四寬度       

rbweihui.setcompounddrawables(null,drawableweihui, null, null);//只放上面  

drawable drawableadd =getresources().getdrawable(r.drawable.btn_tab_add_selector);       

drawableadd.setbounds(0, 0, 168, 120);       

rbadd.setcompounddrawables(drawableadd,null, null, null);       

drawable drawableright = getresources().getdrawable(r.drawable.btn_tab_mine_selector);       

drawableright.setbounds(0, 0, 69, 69);       

rbmine.setcompounddrawables(null,drawableright, null, null);       

//初始化底部標籤       

rggroup.check(r.id.rb_wei_hui);// 預設勾選首頁,初始化時候讓首頁預設勾選

這裡需要特別注意了,api文件說明了在使用setcompounddrawables方法前,需要用drawable.setbounds()方法來為drawable設定邊界,即要顯示的大小。

RadioButton和RadioGroup的異同

沒有radiogroup的情況下,radiobutton可以全部都選中 修改radiobutton的外觀,自定義方式 drawable中設定選中與 未選擇時 的背景 color中設定 選中與未選擇是文字顏色。android drawable drawable tabswitcher long and...

fragment的RadioButton 懶載入

author zhudaihao date 2020 8 11 實現radiobutton 懶載入 public abstract class baselazynewfragment extends fragment 繫結xml unbinder butterknife.bind this,root...

關於radiobutton的處理

在使用radiobutton時,如果需要使用自定義選中和未選中狀態時,可以在布局檔案中這樣寫 android button null android drawableleft drawable radiobutton selector android drawablepadding 5dp 這樣做效...