android代码设置点击涟漪,android – 为自定义CompoundButton添加涟漪效果
我有以下自定義CompoundButton:
public class CustomCompoundButton extends CompoundButton {
public CustomCompoundButton(Context context) {
this(context, null);
}
public CustomCompoundButton(Context context, AttributeSet attrSet) {
super(context, attrSet);
setup();
}
private void setup() {
setBackgroundResource(R.drawable.button_selector);
setGravity(Gravity.CENTER);
setClickable(true);
}
}
在將布局添加到布局后,我從代碼中設置了Button的寬度和高度:
button.getLayoutParams().width = myWidth;
button.getLayoutParams().height = myHeight;
button_selector.xml:
android:drawable="@drawable/button_checked"
android:state_checked="true" />
android:drawable="@drawable/button_unchecked"
android:state_checked="false" />
button_checked.xml:
android:shape="oval">
button_unchecked.xml:
android:shape="oval">
android:width="2dp"
android:color="?colorAccent" />
這按預期工作,未選中時按鈕為空圓圈,選中時為實心圓圈.
問題是我無法在此行為之上添加漣漪效應.
我試圖將選擇器包裝在ripple標簽中,如下所示:
android:color="#ffffff">
android:drawable="@drawable/button_checked"
android:state_checked="true" />
android:drawable="@drawable/button_unchecked"
android:state_checked="false" />
這種方法存在多個問題:
>背景形狀被漣漪完全覆蓋,它們不再可見(無論它們是否被檢查)
背景形狀應該保持不變,我只想在點擊按鈕時添加漣漪效果(選中或取消選中)
>漣漪效應的半徑太大,它們相互重疊
紋波半徑應與我的按鈕半徑相同.
我不知道如何做這項工作,真的很感激任何建議.
總結(jié)
以上是生活随笔為你收集整理的android代码设置点击涟漪,android – 为自定义CompoundButton添加涟漪效果的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: vs2010+Silverlight4+
- 下一篇: 安卓天天练练(五)CompoundBut