如何在单击 TextView 时像单击按钮一样突出显示它

Posted

技术标签:

【中文标题】如何在单击 TextView 时像单击按钮一样突出显示它【英文标题】:How to highlight a TextView when you click on it just like when you click on a Button 【发布时间】:2022-01-14 11:12:39 【问题描述】:

默认情况下,当您单击按钮时,它会突出显示。当用户点击 TextView 时如何做同样的事情?

【问题讨论】:

Button 默认具有该行为,但 TextView 没有。您必须使用 onClickListener() 手动实现它。 【参考方案1】:

您应该能够在 xml 布局文件中进行设置,方法是设置可点击视图并正确设置 foreground 属性。

例如:

...
<TextView
    android:layout_
    android:layout_
    android:foreground="?attr/selectableItemBackground"
    android:clickable="true"
    android:focusable="true"
/>
...

请注意,foreground 仅适用于 Android API 版本 23 或更高版本。如果您需要在低于该版本的版本中使用它,请将android:foreground 替换为android:background。不完全相同的行为(波纹效果放置在文本的背景中,而不是属性名称所指示的视图上方的图层中),但它应该可以解决问题。

【讨论】:

以上是关于如何在单击 TextView 时像单击按钮一样突出显示它的主要内容,如果未能解决你的问题,请参考以下文章

Android:单击按钮时如何显示TextView?

每次单击同一个按钮时如何创建一个新的textView?

如何在单击另一个视图(即按钮)时突出显示自定义列表视图

如何在不向它们提供 ID 的情况下更改按钮单击时 textview 的可见性?

如何在iphone中更改下一个视图之前突出显示按钮?

如何防止 ListItem 内的 Button 突出显示