在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 這樣做效...