Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/217.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何以编程方式检查带有ripple动画的Android单选按钮?_Android_Animation_Radio Button - Fatal编程技术网

如何以编程方式检查带有ripple动画的Android单选按钮?

如何以编程方式检查带有ripple动画的Android单选按钮?,android,animation,radio-button,Android,Animation,Radio Button,tl;dr:当用户单击一个不相关的文本视图时,我希望选择一个带有涟漪动画的单选按钮。performClick不会这样做。我该怎么做呢 我有一个单选按钮,带有标签和较长的描述 我的布局的总体结构如下: <RadioGroup> <RadioButton id="@+id/officialBusinessRadio" text="Official business" /> <TextView id="@+id/offic

tl;dr:当用户单击一个不相关的文本视图时,我希望选择一个带有涟漪动画的单选按钮。performClick不会这样做。我该怎么做呢

我有一个单选按钮,带有标签和较长的描述

我的布局的总体结构如下:

<RadioGroup>

  <RadioButton
      id="@+id/officialBusinessRadio"
      text="Official business" />

  <TextView
      id="@+id/officialBusinessCaption"
      text="This operates under a ..." />

  <!-- ... -->

</RadioGroup>
当我点击单选按钮本身或它自己的文本(“公务”)时,单选按钮将设置为“选定”,并出现涟漪墨水效果。当我将标题文本置于顶部(并调用performClick)时,单选按钮仍将动画设置为“选定”,但不会出现涟漪

有没有更正确的方法来达到这种效果?也就是说,有没有更好的方法将单击标题文本视图转发到单选按钮?如果没有,是否有一种简单的方法以编程方式触发单选按钮上的涟漪效应

我不希望使用字符串资源设置所有文本,原因如下:

  • 我打算以不同的方式设计标签和标题
  • 我想让收音机与第一行文字垂直居中对齐

我通过
回收视图中的population
单选按钮解决了这个问题。它们都被设置为
isClickable=false
,因为我根据另一条规则覆盖了它们的选择,但是触发选择为
true
的方法是:

Kotlin:

    radioButton.post {
        radioButton.isChecked = true
    }
    radioButton.post(new Runnable() {
        @Override
        public void run() {
            radioButton.setChecked(true);
        }
    })
Java:

    radioButton.post {
        radioButton.isChecked = true
    }
    radioButton.post(new Runnable() {
        @Override
        public void run() {
            radioButton.setChecked(true);
        }
    })

以前,我只做了
setChecked(true)
,但它不起作用。

你找到解决方案了吗?