单击表行时突出显示,并在单击下一行时禁用

苏尼尔

我有一个表行包含多个数据。单击某行时,该特定行将用深灰色突出显示。但是,当我单击下一行时,单击的行将突出显示,但上一行仍将突出显示。如何禁用上一行的突出显示。我尝试了许多技巧,但这没有用。

这是我的示例代码。

tableRow.setOnClickListener(new View.OnClickListener() {

         @Override
         public void onClick(View v) {
           v.setBackgroundColor(Color.DKGRAY);

}

我已经以编程方式创建了布局。我没有使用XML。

提前致谢。

医学博士

如果要像使用普通ListView一样使用单击突出显示的股票,则需要将每行的背景设置为

android:background="@drawable/selector"

这是一个例子:

<TableRow
    android:id="@+id/tableRow1"
    android:layout_width="wrap_content"
    android:layout_height="0dp"
    android:layout_weight="1"
    android:padding="5dip" 
    android:background="@drawable/selector">

selector.xmlres\drawable文件夹中

<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android" >
<item   android:state_focused="true"
        android:state_pressed="true"
        android:drawable="@color/blue></item>
<item   android:state_focused="true"
        android:state_pressed="false"
        android:drawable="@color/custom"></item>
<item
        android:state_focused="false"
        android:state_pressed="true"
        android:drawable="@color/gray" />


 <item android:drawable="@color/white"></item>

</selector>

更新:StateListDrawable像下面这样Background编程方式创建并设置为TableRow

 Drawable d1=activity.getResources().getDrawable(R.drawable.gradient_bg_hover);

  GradientDrawable g = new GradientDrawable(Orientation.TOP_BOTTOM,
            new int[] { Color.DKGRAY});       
 g.setGradientType(GradientDrawable.LINEAR_GRADIENT);

            StateListDrawable states = new StateListDrawable();
            states.addState(new int[] {android.R.attr.state_pressed,-android.R.attr.state_selected},d1);
            states.addState(new int[] {-android.R.attr.state_focused},g);

            table_row.setBackgroundDrawable(states);

gradient_bg_hover.xmlres\drawable文件夹中。

 <?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android"
android:shape="rectangle">
<!-- Gradient BgColor for listrow Selected -->
<gradient
  android:startColor="#18d7e5"
  android:centerColor="#16cedb"
  android:endColor="#09adb9"
  android:angle="270" />
</shape>

UPDATE2:您可以添加更多的StateStateListDrawable按您的要求。

  1. android:state_activated: 在视图或父视图已被“激活”时设置,表示用户当前将其标记为感兴趣。

  2. android:state_active:的状态值StateListDrawable

  3. android:state_enabled: 启用视图时设置。

  4. android:state_focused:的状态值StateListDrawable,当视图具有输入焦点时设置。

  5. android:state_pressed: 在用户按下视图时设置。

  6. android:state_selected: 当前选择视图(或其父视图之一)时设置。

有关StateListDrawable的更多信息

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

从html表中选择一行(突出显示),并在单击按钮时发送值

来自分类Dev

从html表中选择一行(突出显示),并在单击按钮时发送值

来自分类Dev

单击一行时添加图像(<li>标签)

来自分类Dev

Xamarin Forms MVVM在CollectionView中单击一行时显示图标/图像

来自分类Dev

单击动态生成的表中的一行时,选中其单选按钮

来自分类Dev

尝试在用户单击时突出显示表中的一行

来自分类Dev

选择下一行时,清除先前选择的表行

来自分类Dev

编辑一行时禁用其他行-编辑表的单个行

来自分类Dev

在VB中的DataGridView中单击一行时填充文本框?

来自分类Dev

Django:如何在单击一行时更改页面?

来自分类Dev

在VB中的DataGridView中单击一行时填充文本框?

来自分类Dev

单击后突出显示上一行

来自分类Dev

HTML + JavaScript:如何在单击Javascript中的按钮时突出显示一行?

来自分类Dev

从html表中选择一行,并在单击按钮时发送值

来自分类Dev

在单击表行时,它启用整个表的一行,并且在选择获取值后未定义

来自分类Dev

DatagridView 仅在单击行时显示行

来自分类Dev

检索表的最后一行时出错

来自分类Dev

检索表的最后一行时出错

来自分类Dev

IDE的问题,当您在编辑器中单击一行时,光标不会移至最后写入的字符

来自分类Dev

如何在运行时创建JPanels并在用户单击时显示其名称

来自分类Dev

单击按钮时突出显示行

来自分类Dev

突出显示表格行并在表格行单击jQuery时选择单选输入

来自分类Dev

突出显示表格行并在表格行单击jQuery时选择单选输入

来自分类Dev

单击“下一步”按钮时,jQuery选项卡突出显示

来自分类Dev

在禁用单击时禁用行选择的情况下,仅选中复选框时如何突出显示DataGrid行?

来自分类Dev

移至下一行时,将图像扩展到容器宽度

来自分类Dev

尝试转到数据库的下一行时出现重复绑定错误

来自分类Dev

换行到下一行时忽略上边距

来自分类Dev

当文本换行到下一行时添加不同的样式

Related 相关文章

  1. 1

    从html表中选择一行(突出显示),并在单击按钮时发送值

  2. 2

    从html表中选择一行(突出显示),并在单击按钮时发送值

  3. 3

    单击一行时添加图像(<li>标签)

  4. 4

    Xamarin Forms MVVM在CollectionView中单击一行时显示图标/图像

  5. 5

    单击动态生成的表中的一行时,选中其单选按钮

  6. 6

    尝试在用户单击时突出显示表中的一行

  7. 7

    选择下一行时,清除先前选择的表行

  8. 8

    编辑一行时禁用其他行-编辑表的单个行

  9. 9

    在VB中的DataGridView中单击一行时填充文本框?

  10. 10

    Django:如何在单击一行时更改页面?

  11. 11

    在VB中的DataGridView中单击一行时填充文本框?

  12. 12

    单击后突出显示上一行

  13. 13

    HTML + JavaScript:如何在单击Javascript中的按钮时突出显示一行?

  14. 14

    从html表中选择一行,并在单击按钮时发送值

  15. 15

    在单击表行时,它启用整个表的一行,并且在选择获取值后未定义

  16. 16

    DatagridView 仅在单击行时显示行

  17. 17

    检索表的最后一行时出错

  18. 18

    检索表的最后一行时出错

  19. 19

    IDE的问题,当您在编辑器中单击一行时,光标不会移至最后写入的字符

  20. 20

    如何在运行时创建JPanels并在用户单击时显示其名称

  21. 21

    单击按钮时突出显示行

  22. 22

    突出显示表格行并在表格行单击jQuery时选择单选输入

  23. 23

    突出显示表格行并在表格行单击jQuery时选择单选输入

  24. 24

    单击“下一步”按钮时,jQuery选项卡突出显示

  25. 25

    在禁用单击时禁用行选择的情况下,仅选中复选框时如何突出显示DataGrid行?

  26. 26

    移至下一行时,将图像扩展到容器宽度

  27. 27

    尝试转到数据库的下一行时出现重复绑定错误

  28. 28

    换行到下一行时忽略上边距

  29. 29

    当文本换行到下一行时添加不同的样式

热门标签

归档