我尝试使用AppCompactRadioButton在右侧按下RTL电台-Put收音机 - 我用android:drawableRight
实现了这个并设置android:button="@null"
所以我的最终视图是我想要的和最终代码是这样的:
<android.support.v7.widget.AppCompatRadioButton
android:id="@+id/radio_man"
style="@style/app_font"
android:layout_width="0dp"
android:layout_height="@dimen/edit_text_height"
android:layout_weight="1"
android:button="@null"
android:drawableRight="@drawable/form_radiobutton"
android:minHeight="33dp"
android:onClick="onSexRadioButtonClicked"
android:text="@string/hint_man" />
但我的问题是如何改变涟漪效应中心位置,因为我将按钮设置为null,涟漪效果中心poisiton位于单选按钮的中心,如上图所示,并且用户不希望看到涟漪。我试图将layout_direction设置为RTL,但没有修复。
我必须提一下,我也尝试用下面的波纹绘制解决这个问题,但没有任何改变,问题仍然存在。
<?xml version="1.0" encoding="utf-8"?>
<ripple xmlns:android="http://schemas.android.com/apk/res/android"
android:color="@android:color/transparent">
<item>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item
android:drawable="@drawable/btn_radio_activated"
android:state_checked="true" />
<item android:drawable="@drawable/btn_radio_deactive" />
</selector>
</item>
</ripple>
长话短说,有没有想法改变Android Appcompat单选按钮的android Ripple效果中心位置?
答案 0 :(得分:1)
我可以通过将RadioButton的背景更改为透明来成功擦除涟漪效果,如下所示:
android:background="@android:color/transparent"
我还没试过,但我想你可以设置一个带左边填充的drawable来克服这个问题。
答案 1 :(得分:0)
我认为您正在寻找的是
android:background="?selectableItemBackground"
在您的RadioButtons中。那会覆盖错误的涟漪效应。