android - 如何显示textview可点击?

标签 android textview

我有五个 TextView ,并且都是可点击的,如何给它们一个视觉效果,以便用户可以识别它是可点击的。我已经放弃了在 TextView 下划线的想法,那么还有其他可用的方法吗?

我的代码

<?xml version="1.0" encoding="utf-8"?>
 <selector xmlns:android="http://schemas.android.com/apk/res/android">
     <item android:state_pressed="true"
           android:color="#94FFFF" /> <!-- pressed -->

     <item android:state_focused="true"
           android:color="#94FFFF" /> <!-- focused -->
     <item android:color="#5C9E70" /> <!-- default -->
 </selector>

最佳答案

我最喜欢的是在 TextView 周围画一个圆圈,实际上将其设为一个包含 TextView 样式元素的按钮;

<Button
    android:id="@+id/quit"
    style="@android:style/Widget.TextView"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_alignParentBottom="true"
    android:layout_centerHorizontal="true"
    android:text="Your Text"
    android:paddingBottom="8dp"
    android:paddingLeft="8dp"
    android:paddingRight="8dp"
    android:paddingTop="8dp"
    android:minHeight="0dp"
    android:minWidth="0dp"
    android:textColor="#ffffff"
    android:background="@drawable/but_bg" />

其中but_bg是包含的.xml

<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item>
    <shape>
        <gradient
            android:type="radial" android:gradientRadius="820"
            android:startColor="#df242424"
            android:centerColor="#df343434"
            android:endColor="#da444444"
            android:angle="270" />
        <stroke
            android:width="1dp"
            android:color="#ffffff" />
        <corners
            android:radius="7dp" />
        <padding
            android:left="8dp"
            android:top="8dp"
            android:right="8dp"
            android:bottom="8dp" />
       </shape>
       </item>
</selector>

使用其中的径向颜色还可以使其看起来更具塑料感。这看起来像 button

如果您想保留 TextView,您还可以将 xml 可绘制对象应用于布局。然后你就这样包装它:

<LinearLayout
    android:orientation="vertical"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:background="@drawable/but_bg"
[...]>
    <TextView 
       [...] />
</LinearLayout>

编辑:我刚刚意识到 Button 基本上是具有另一种样式的 TextView 子类。我还没有使用 TextView 标签对此进行测试,但如果有人想将其保留为 TextView,它应该以相同的方式工作。

关于android - 如何显示textview可点击?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28433098/

相关文章:

android - Android中具有相同字段名的JSONArray解析和值映射

android - TextView - 在另一个 TextView 的右侧开始一个新行

Android 应用程序因 main.xml 中的 TextColor 而崩溃

java - 如何查找两个字符串日期之间的记录 SQLITE - Android

java - ListView Intent On Item Click Listener 停止应用程序错误

android - 如何设置 ListView 行高

android - 调整评级栏中的图标大小

android - 如何在Android的TextView中使文本居中垂直在一行中

android - 如何使用使用回调的第三方库实现 CoroutineWorker?

android - 当字符串不是嵌入式资源时,如何设置 TextView 以显示 UTF-8?