gpt4 book ai didi

android - 复选框按钮设置为空时的波纹效果位置

转载 作者:太空狗 更新时间:2023-10-29 16:32:40 26 4
gpt4 key购买 nike

复选框按钮设置为空时的波纹效果问题:

使用的样式

<style name="MyRow">
<item name="android:button">@null</item>
<item name="android:drawableRight">@drawable/abc_btn_radio_material</item>
<item name="android:drawableEnd">@drawable/abc_btn_radio_material</item>
<item name="android:layout_width">match_parent</item>
<item name="android:layout_height">wrap_content</item>
<item name="android:padding">@drawable/dafaultPadding</item>

这是包含单选按钮的单选组。

<RadioGroup android:layout_height="wrap_content" android:layout_width="match_parent">

<android.support.v7.widget.AppCompatRadioButton style="@style/MyRow"
android:id="@+id/one"
android:text="@string/someText"
/>

<android.support.v7.widget.AppCompatRadioButton style="@style/MyRow"
android:id="@+id/two"
android:text="@string/someText"
/>

<android.support.v7.widget.AppCompatRadioButton style="@style/MyRow"
android:id="@+id/three"
android:text="@string/someText"
/>

</RadioGroup>

当 android:button 属性设置为某个可绘制对象时,波纹动画会按预期工作。当为 null 时,它在 Marshmallow 上具有此行为(行中间的波纹)。

Click Here to see the image

在 lollipop 中可以正常工作,除了它没有边界并且涟漪会扩展到整个窗口。

在我看来,解决这个问题的唯一方法是为每行创建自定义 View ,其中包含单选按钮左侧的 TextView 。但是这样我将不得不创建一个怪物般的 Controller (当我按下 TextView 时选择复选框)并且我将失去 radio 组的所有优势。

enter image description here

最佳答案

尝试为您的单选按钮使用以下样式:

<style name="RadioButton">
<item name="android:background">?selectableItemBackground</item>
<item name="android:button">@null</item>
<item name="android:drawableRight">?android:attr/listChoiceIndicatorSingle</item>
<item name="android:drawablePadding">@dimen/yourDrawablePadding</item>
<item name="android:padding">@dimen/buttonPadding</item>
</style>

首先,?selectableItemBackground 将解决您的涟漪问题。

还可以使用 ?android:attr/listChoiceIndicatorSingle 作为您的可绘制对象,以便在选中/取消选中单选按钮时实现漂亮的 Material 动画。

您可以在下面看到差异(Google Pixel XL,7.1.2):

enter image description here

关于android - 复选框按钮设置为空时的波纹效果位置,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35012799/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com