如何以编程方式检查带有涟漪动画的Android单选按钮()

千磨万击还坚劲,任尔东西南北风。这篇文章主要讲述如何以编程方式检查带有涟漪动画的Android单选按钮?相关的知识,希望能为你提供帮助。
tl; dr:当用户点击不相关的文本视图时,我想要一个带有波纹动画的单选按钮。 performClick不会这样做。我应该做什么呢?
我有一个带有标签和更长描述的单选按钮。

如何以编程方式检查带有涟漪动画的Android单选按钮()

文章图片

我的布局的一般结构是这样的:
< RadioGroup> < RadioButton id="@+id/officialBusinessRadio" text="Official business" /> < TextView id="@+id/officialBusinessCaption" text="This operates under a ..." /> < !-- ... --> < /RadioGroup>

我在文本视图中添加了一个OnClickListener,以便点击标题选择单选按钮:
officialBusinessCaption.setOnClickListener(new View.OnClickListener() { public void onClick(View v) { officialBusinessRadio.performClick(); } });

当我点击单选按钮本身或其自己的文本(“官方商务”)时,单选按钮会动画选择并产生波纹墨水效果。当我在标题文本上面(并且调用performClick)时,单选按钮仍然会动画选择,但不会出现波纹。
【如何以编程方式检查带有涟漪动画的Android单选按钮()】有没有更正确的方法来获得这种效果?也就是说,有没有更好的方法将标题文本视图上的点击转发到单选按钮?如果没有,是否有一种直接的方式以编程方式触发单选按钮上的涟漪效应?
我宁愿不使用字符串资源设置所有文本,原因如下:
  • 我打算对标签和标题进行不同的造型。
  • 我希望收音机垂直居中与第一行文字对齐。
答案我在RadioButton中通过人口RecyclerViews来解决这个问题。所有这些都被设置为isClickable = false,因为我根据另一个规则覆盖他们的选择,但触发选择到true的方式是:
科特林:
radioButton.post { radioButton.isChecked = true }

java的:
radioButton.post(new Runnable() { @Override public void run() { radioButton.setChecked(true); } })

之前,我只做setChecked(true)而且它不起作用。

    推荐阅读