android开关按钮,Switch,ToggleButton,RadioButton,CheckBox ,多种实现开关按钮

来源:互联网 发布:windows怎么启动 编辑:程序博客网 时间:2024/05/16 23:33

方法一:RadioButton

<span style="font-size:14px;"><RadioGroup       android:id="@+id/main_rg_type"       android:layout_width="match_parent"       android:layout_height="wrap_content"       android:layout_marginLeft="35dp"       android:layout_marginRight="35dp"       android:layout_marginTop="10dp"       android:gravity="center_horizontal" >       <RadioButton             android:id="@+id/main_rb_t1"             android:layout_width="120dp"             android:layout_height="wrap_content"             android:layout_marginBottom="15dp"             android:layout_marginTop="15dp"             android:button="@drawable/ic_p"             android:text="继续教育"             android:textColor="#F39801" />                </RadioGroup></span>
<span style="font-size:14px;">public class MainActivity extends BaseActivity {private RadioGroup main_rg;private RadioButton main_rb;@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);initView();}private void initView() {main_rg = (RadioGroup) findViewById(R.id.main_rg_type);main_rb = (RadioButton) findViewById(R.id.main_rb_t1);main_rg.setOnCheckedChangeListener(new onCheckedChangeListener());}private int is = 1;private class onCheckedChangeListener implements OnCheckedChangeListener {public void onCheckedChanged(RadioGroup group, int checkedId) {if (main_rb.getId() == checkedId) {if (1 == is) {is = 0;checkedView(main_rb, false);} else {is = 1;checkedView(main_rb, true);}main_rb.setChecked(false);}}private void checkedView(RadioButton rb, boolean idImg) {if (idImg) {rb.setButtonDrawable(R.drawable.ic_p);} else {rb.setButtonDrawable(R.drawable.ic_n);}}}}</span>

方法二:CheckBox

<span style="font-size:14px;"><CheckBox            android:id="@+id/cb"            android:layout_width="wrap_content"            android:layout_height="wrap_content"            android:layout_gravity="center_horizontal"            android:button="@drawable/ic_p"/></span>
<span style="font-size:14px;">CheckBox cb = (CheckBox) findViewById(R.id.cb);cb.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() {@Overridepublic void onCheckedChanged(CompoundButton buttonView,boolean isChecked) {if (isChecked) {cb.setButtonDrawable(R.drawable.ic_p);} else {cb.setButtonDrawable(R.drawable.ic_n);}}});</span>
方法三:Switch

<span style="font-size:14px;"><Switch            android:id="@+id/sch"            android:layout_width="wrap_content"            android:layout_height="wrap_content"            android:background="@drawable/ic_launcher" /></span>
<span style="font-size:14px;">Switch sch= (Switch)findViewById(R.id.sch);sch.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() {                  @Override      public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) {            if(isChecked) {              sch.setBackgroundResource(R.drawable.ic_p);           }else{              sch.setBackgroundResource(R.drawable.ic_n);           }      }});</span>

方法四:ToggleButton

<span style="font-size:14px;"><ToggleButton       android:id="@+id/tb"       android:layout_width="120dp"       android:layout_height="wrap_content"       android:layout_marginBottom="15dp"       android:layout_marginTop="15dp"       android:background="@drawable/ic_p"       android:textOff=""       android:textOn="" /></span>
<span style="font-size:14px;">ToggleButton tb= (ToggleButton)findViewById(R.id.tb);tb.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() {@Overridepublic void onCheckedChanged(CompoundButton buttonView, boolean isChecked) {tb.setTextOff("");tb.setTextOn("");if(isChecked) {tb.setBackgroundResource(R.drawable.ic_p);}else{tb.setBackgroundResource(R.drawable.ic_n);}}});</span>

****************************************************************************************************************************************************************************************

也可以用配置xml方式写,这里就只写一种,其它都类似...

 <CheckBox <pre>            style="@style/checkBox"            android:layout_width="wrap_content"            android:layout_height="wrap_content"/>

style="@style/checkBox"

<style name="checkBox" parent="@android:style/Widget.CompoundButton.CheckBox">    <item name="android:button">@drawable/check</item></style>
selector自定义样式:check

<?xml version="1.0" encoding="UTF-8"?><selector xmlns:android="http://schemas.android.com/apk/res/android">  <item android:state_checked="true" android:drawable="@drawable/ic_p"/>  <item android:state_checked="false" android:drawable="@drawable/ic_n"/></selector>

代码中设置选中和不选中,就ok...

方法还有很多,这里就不过多介绍了,至于第三方那就多的不计其数... ...

1 0
原创粉丝点击