本文摘抄自: 链 接
感觉原文有些东西,介绍的不详细,所以自己整理了下。
(因为有些博主写自定义控件,讲了很多思路后,最后给出的东西,结果连控件的长和宽都不能设置)
高仿ios开关的例子源码。
功能:
1、可以设置button的大小(缺点:只能长宽保持同比例,设置button的长和宽,)
2、可以实现拖动功能(ps:有些人写的不可以的,我这里先说明出来,懒得大家浪费时间)
2、因为此自定义控件是extendeds ChexBox写的,所有相关方法都有。比如:(有些只是继承View写的,只有点击事件,也不是不可以,只是比较麻烦而已)
switch2.setEnabled(false);//设置不可点击
//设置监听
switch1.setOnCheckedChangeListener(new OnCheckedChangeListener() {
<span style="white-space:pre"> </span>@Override
<span style="white-space:pre"> </span>public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) {
<span style="white-space:pre"> </span>if (isChecked) {
<span style="white-space:pre"> </span>Toast.makeText(TestActivity.this, "开启", Toast.LENGTH_SHORT).show();
<span style="white-space:pre"> </span>} else {
<span style="white-space:pre"> </span>Toast.makeText(TestActivity.this, "关闭", Toast.LENGTH_SHORT).show();
<span style="white-space:pre"> </span>}
<span style="white-space:pre"> </span>}
});
演示gif:
大概就这样,如果是想用CheckBox控件,我觉得这个还挺简单方便的。