Android 原生控件 2 Switch 和 TogglBUtton

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: 关");
        }
    }
});
最后效果图
 

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值