Android RadioButton 修改选择框
效果圖
?是否被選中打印效果圖
RadioButon? 是單選框 ,選中之后再次點擊無法取消,這樣呢我們可以配合RadioGroup 使用,選擇其他的RadioButton
這樣的話剛才的的那個就取消了
在使用的時候注意padding 是相對于字體來的不是相對選擇框?
在androidx一起布局使用
RadioButtonandroidx 可以使用 (RadioButton 依然可以使用)
androidx.appcompat.widget.AppCompatRadioButton修改選擇框的圖片 和checkbox 一樣,可以使用style 還可以直接通過button 來實現
1 style?
xml 代碼如下
    <androidx.appcompat.widget.AppCompatRadioButtonandroid:id="@+id/radio"android:layout_width="wrap_content"android:layout_height="wrap_content"android:paddingLeft="10dp"style="@style/checkbox"android:text="Java"/>styles 里面 checkbox
    <style name="checkbox"><item name="android:button">@drawable/checkbox</item></style>drawable 里面的 checkbox (注意這里的checkbox_unselect 與checkbox_select是圖片)
<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android"><item android:drawable="@drawable/checkbox_unselect" android:state_checked="false" /><item android:drawable="@drawable/checkbox_select" android:state_checked="true" />
</selector>這樣就實現了修改圖片的效果圖
直接button xml 代碼
  <androidx.appcompat.widget.AppCompatRadioButtonandroid:id="@+id/radio"android:layout_width="wrap_content"android:layout_height="wrap_content"android:paddingLeft="10dp"android:button="@drawable/drawable_radio"android:text="Java"/>drawable 下面的 drawable_radio (注意:這里的radio_select與 radio_unselect是圖片)
<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android"><item android:drawable="@drawable/radio_unselect" android:state_checked="false" /><item android:drawable="@drawable/radio_select" android:state_checked="true" />
</selector>
關于RadioButton 是否選中的監聽事件setOnCheckedChangeListener
代碼
public class MainActivity extends AppCompatActivity {private RadioButton radioButton;@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);radioButton = findViewById(R.id.radio);radioButton.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() {@Overridepublic void onCheckedChanged(CompoundButton buttonView, boolean isChecked) {Log.e("--------java是否被選中", String.valueOf(isChecked));}});}
}
有時候做篩選的時候可能使用到?
下面寫一個單選題把
效果圖
這個就是簡單的修改了下直接看代碼把
 <TextViewandroid:layout_width="match_parent"android:layout_height="wrap_content"android:gravity="center"android:text="發射第一顆人造衛星的國家是"/><RadioGroupandroid:layout_width="match_parent"android:layout_height="wrap_content"android:layout_marginLeft="17dp"android:layout_marginRight="17dp"android:orientation="vertical"><RadioButtonandroid:layout_height="40dp"android:layout_width="match_parent"android:button="@null"android:layout_marginTop="10dp"android:text="美國"android:gravity="center"android:background="@drawable/drawable_radio_bg"/><RadioButtonandroid:layout_height="40dp"android:layout_width="match_parent"android:button="@null"android:text="前蘇聯"android:layout_marginTop="10dp"android:gravity="center"android:background="@drawable/drawable_radio_bg"/><RadioButtonandroid:layout_height="40dp"android:layout_width="match_parent"android:button="@null"android:text="南斯拉夫"android:layout_marginTop="10dp"android:gravity="center"android:background="@drawable/drawable_radio_bg"/><RadioButtonandroid:layout_height="40dp"android:layout_width="match_parent"android:button="@null"android:layout_marginTop="10dp"android:text="中國"android:gravity="center"android:background="@drawable/drawable_radio_bg"/></RadioGroup>drawable 中的 drawable_radio_bg
<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android"><item android:drawable="@drawable/radio_bg" android:state_checked="false" /><item android:drawable="@drawable/radio_select_bg" android:state_checked="true" />
</selector>drawable 中的 radio_bg?
<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android"><corners android:radius="10dp"/><stroke android:color="#1296db" android:width="1dp"/>
</shape>drawable 中的 radio_select_bg
<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android"><corners android:radius="10dp"/><solid android:color="#1296db"/>
</shape>demo 地址參考
總結
以上是生活随笔為你收集整理的Android RadioButton 修改选择框的全部內容,希望文章能夠幫你解決所遇到的問題。
 
                            
                        - 上一篇: 微信个性签名不见了
- 下一篇: life eater是谁画的啊?
