如何以编程方式检查带有ripple动画的Android单选按钮?
tl;dr:当用户单击一个不相关的文本视图时,我希望选择一个带有涟漪动画的单选按钮。performClick不会这样做。我该怎么做呢 我有一个单选按钮,带有标签和较长的描述 我的布局的总体结构如下:如何以编程方式检查带有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
<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)
,但它不起作用。你找到解决方案了吗?