如何在android中突出显示前景中的表行

时间:2011-04-28 13:14:14

标签: android android-layout focus

我正在创建一个包含一些表行的表,每个tablerow包含三个tabledata(textview)。我使用以下配色方案。

TableLayoutBackgroundColor:白色 TableRowBackgroundColor:黑色 TableDataBackgroundColor(textview):white

为表格行设置游戏:

TableRow.LayoutParams params = new TableRow.LayoutParams();
            params.setMargins(Constants.LEFT_MARGIN,Constants.TOP_MARGIN,Constants.RIGHT_MARGIN,Constants.BOTTOM_MARGIN);

现在问题是当我使用以下代码突出显示tablerow时:

tr.setOnFocusChangeListener(new OnFocusChangeListener() {

                public void onFocusChange(View v, boolean hasFocus) {
                    // TODO Auto-generated method stub

                    if(hasFocus){                   
                    v.setBackgroundColor(Color.GREEN);  
                                            }
                    else
                    {
                        v.setBackgroundColor(Color.BLACK);
                    }

                }
            });

仅显示表格行的边框。我希望荧光笔在整行上。 请建议我怎么做。

2 个答案:

答案 0 :(得分:0)

我认为你想要的是样式http://developer.android.com/guide/topics/ui/themes.html 试着看看你希望它是否有所帮助。

此处示例带有按钮http://www.gersic.com/blog.php?id=56

答案 1 :(得分:0)

Android使用State List Drawables机制为您管理。我写了一篇关于如何使用State List Drawables的博客文章。博客文章专门讨论将这些应用于按钮,但这些技术与您尝试做的事情大致相同。