Как выделить строку таблицы на переднем плане в Android - PullRequest
0 голосов
/ 28 апреля 2011

Я создаю таблицу с некоторой строкой таблицы, и каждая таблица содержит три таблицы данных (textview). Я использую следующую цветовую схему.

TableLayoutBackgroundColor: White TableRowBackgroundColor: Черный TableDataBackgroundColor (textview): белый

настройка полей для строки таблицы:

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

Теперь проблема в том, когда я выделяю таблицу с помощью следующего кода:

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 голосов
/ 28 апреля 2011

Android управляет этим для вас с помощью механизма State List Drawables.Я написал запись в блоге о том, как использовать State List Drawables .В блоге конкретно говорится о применении их к кнопке, но методы, которые вы пытаетесь сделать, во многом совпадают.

0 голосов
/ 28 апреля 2011

Я думаю, что вы хотите, чтобы вы хотели, это стили http://developer.android.com/guide/topics/ui/themes.html попробуйте посмотреть, если это то, что вы хотите, надеюсь, это помогло.

Пример здесь с кнопкой http://www.gersic.com/blog.php?id=56

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...