0

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

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

颜色应该只可见半秒左右,当它返回页面时就消失了。

任何建议表示赞赏。

干杯

4

3 回答 3

3

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

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

 <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(在drawable文件夹中)的xml文件,其内容如下:

<?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"/>

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

于 2013-11-06T15:27:25.677 回答
0

您可以使用....

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

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

tr.setBackgroundColor(Color.parseColor("#FF00FF"));
于 2013-11-06T16:10:15.037 回答
0

最简单的方法是,您可以在列表视图中使用 android:listSelector。

于 2013-11-06T17:36:15.027 回答