【问题标题】:Background color of a table row when it clicked单击时表格行的背景颜色
【发布时间】:2013-11-07 01:36:15
【问题描述】:

在我的 Android 应用程序中,我有一张桌子。当用户单击一行时,会打开一个新页面。

如何为行设置背景颜色,以便用户更容易看到他/她选择的内容?

颜色应该只可见半秒左右,返回页面后消失。

欢迎提出任何建议。

干杯

【问题讨论】:

  • @Poutrathor 运行时加载的表格布局
  • 检查我的编辑:你在drawable中定义了一个选择器并将它设置为你的tableLayout的背景

标签: java android android-tablelayout


【解决方案1】:

通常我会使用选择器来获得焦点并将可绘制/布局设置为表格项目的背景。

例如,我使用此布局在当前应用中制作列表的背景:

 <LinearLayout

    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:background="@drawable/btn_nv"
    android:orientation="horizontal"
    android:paddingLeft="@dimen/padding_extra_small"
    android:paddingRight="@dimen/padding_extra_small" >

背景drawable是名为btn_nv的xml文件(在drawable文件夹中),其内容如下:

<?xml version="1.0" encoding="utf-8"?>

<item android:drawable="@drawable/btn_nv_normal" android:state_enabled="true" android:state_window_focused="false"/>
<item android:drawable="@drawable/btn_nv_normal_disable" android:state_enabled="false" android:state_window_focused="false"/>
<item android:drawable="@drawable/btn_nv_pressed" android:state_pressed="true"/>
<item android:drawable="@drawable/btn_nv_selected" android:state_enabled="true" android:state_focused="true"/>
<item android:drawable="@drawable/btn_nv_normal" android:state_enabled="true"/>
<item android:drawable="@drawable/btn_nv_normal_disable_focused" android:state_focused="true"/>
<item android:drawable="@drawable/btn_nv_normal_disable"/>

允许在用户触摸、按下等时更改背景...

【讨论】:

  • 您错过了设置 xml (btn_nv) 的名称。
  • 太棒了!我很高兴能够帮助人们:)
【解决方案2】:

你可以使用....

TableRow tr = findViewById(R.id.tablerow);

点击时。在 onClick() 方法中使用以下代码...

tr.setBackgroundColor(Color.parseColor("#FF00FF"));

【讨论】:

    【解决方案3】:

    最简单的方法是,你可以在listview中使用android:listSelector。

    【讨论】:

      猜你喜欢
      • 2013-11-28
      • 2015-06-02
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-12-22
      • 2016-03-23
      • 2011-10-20
      • 2021-01-04
      相关资源
      最近更新 更多