panpf / switch-button

SwitchButton 是 Android 上的一个开关按钮控件 【Deprecated】【Stop maintenance】
330 stars 133 forks source link

有二个问题想请教 #1

Closed zhuchen1109 closed 8 years ago

zhuchen1109 commented 10 years ago

hi,你写的代码很简洁,大赞。 有二个问题想请教下: 1,canvas.saveLayer可以过滤掉黑色边缘,这个原理是什么呢?求教! 2,绘制滑块层直接canvas.drawBitmap(sliderBitmap, tempSlideX, 0, paint);也可以达到预期效果,想问下你在处理绘制滑块层也使用canvas.saveLayer和Xfermode的目的是什么呢?

panpf commented 10 years ago

你好!非常感谢你关注我的项目

第一个问题: 具体原理我也没弄明白,现在就知道使用Xfermode的时候要记得新建图层,要不然图片的不透明部分就会看起来就会是黑色的,如果你什么时候欢迎交流答案。

第二个问题: 当滑块其它部分是透明的话确实不需要再使用Xfermode和canvas.saveLayer了,我当初是考虑到当滑块其它部分不是透明的时候就必须要使用Xfermode和canvas.saveLayer,因此就这样写了,这样一来就可以兼容两种情况。现在仔细想想确实不太会有滑块其它部分不透明的可能,稍后我会去掉Xfermode和canvas.saveLayer的。非常感谢你的疑问,让我 想明白了这个问题。

iacxin099 commented 10 years ago

你好,请教一个问题: 我用SwitchButton的setOnCheckedChangeListener来执行相应的方法。 如: mSwitch.setOnCheckedChangeListener((new CompoundButton.OnCheckedChangeListener() { public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) { mCommFlagSet.clear(); if(isChecked == false) {

                }
                else
                {

                }
           }
    }));

问题: 我点击一次SwitchButton,但是onCheckedChanged却调用多次,有时候一次,有时候多次。请问哪里可以设置或者修改吗?

panpf commented 10 years ago

你好,

很抱歉 我写的这个SwitchButton给您带来了困扰, 在收到你的邮件后我第一时间测试了一下,并没有发现您说的问题, 可能是我的测试力度不够或者们的使用环境不太一样,而我有没有考虑到您的使用环境。 那么现在最好的解决办法就是您写一个DEMO,让这个问题能够重现,然后您把DEMO源码发给我,并附上您测试的设备型号以及系统版本,我再想办法解决。

抱歉!

我的联系方式: Email:sky@xiaopan.me QQ:86774044

------------------ 原始邮件 ------------------ 发件人: "iacxin099";notifications@github.com; 发送时间: 2014年7月11日(星期五) 下午3:59 收件人: "xiaopansky/SwitchButton"SwitchButton@noreply.github.com; 抄送: "︻$▅飞▇◤"sky@xiaopan.me; 主题: Re: [SwitchButton] 有二个问题想请教 (#1)

你好,请教一个问题: 我用SwitchButton的setOnCheckedChangeListener来执行相应的方法。 如: mSwitch.setOnCheckedChangeListener((new CompoundButton.OnCheckedChangeListener() { public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) { mCommFlagSet.clear(); if(isChecked == false) { } else { } } }));
问题: 我点击一次SwitchButton,但是onCheckedChanged却调用多次,有时候一次,有时候多次。请问哪里可以设置或者修改吗?

— Reply to this email directly or view it on GitHub.