Android 原生控件 2 Switch 和 TogglBUtton

来源:互联网 发布:电音大神 知乎 编辑:程序博客网 时间:2024/05/20 12:47

Switch和TogglButton用法都差不多,他们都是继承与CompoundButton意思是复合按钮

Switch:

方法 

//isChecked()是否被选中//setOnCheckedChangeListener选择监听接口//isChecked()是否被选中//setButtonDrawable(int resid)设置Button的Drawable属性//setChecked(boolean checked)设置是否选中//toggle()改变当前的状态,true-->false  ;false-->true
xml引用
<!--android:track="@drawable/switch_bg_normal   设置背景色 想要打开和关闭的背景不一样,做个选择器即可--><!--android:thumb="@drawable/select_btn"   设置按钮的颜色--><!--改变Switch的大小设置layout_height和layout_width没用,要设置thumb的大小即圆形按钮的大小--><!--带有样式的--><Switch    android:thumb="@drawable/select_btn"    android:id="@+id/open"    android:layout_width="wrap_content"    android:layout_height="wrap_content"    android:layout_alignParentRight="true"    android:layout_marginRight="30dp"    android:layout_marginTop="30dp"    android:track="@drawable/select_bg"/><!--默认的Switch--><Switch    android:layout_width="wrap_content"    android:layout_height="wrap_content"    android:layout_alignParentRight="true"    android:layout_marginRight="30dp"    android:layout_marginTop="90dp"/>
java中使用
Switch sw = (Switch) findViewById(R.id.open);//设置是打开的//sw.setChecked(true);sw.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() {    @Override    public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) {        if (isChecked){            Log.d(TAG, "onCheckedChanged: 开");        }else {            Log.d(TAG, "onCheckedChanged: 关");        }    }});
ToggleButton:
方法和上面差不多
xml使用
<!-- android:background="@drawable/toggl_bg"  可以做一个选择器,根据开关改变背景--><ToggleButton    android:layout_marginRight="30dp"    android:layout_marginTop="150dp"    android:layout_alignParentRight="true"    android:background="@drawable/toggl_bg"    android:textOff="关"    android:textOn="开"    android:id="@+id/toggl"    android:layout_width="50dp"    android:layout_height="30dp"/><!--默认的--><ToggleButton    android:layout_marginRight="30dp"    android:layout_marginTop="200dp"    android:layout_alignParentRight="true"    android:layout_width="wrap_content"    android:layout_height="wrap_content"/>
java
ToggleButton toggl = (ToggleButton) findViewById(R.id.toggl);toggl.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() {    @Override    public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) {        if (isChecked){            Log.d(TAG, "onCheckedChanged: 开");        }else {            Log.d(TAG, "onCheckedChanged: 关");        }    }});
最后效果图
 

0 0