создание кнопок для приборной панели, проблемы с onClick, может быть, лучшее решение? - PullRequest
0 голосов
/ 13 августа 2011

Я сейчас реализую свою панель инструментов. Мое текущее решение для кнопок это:

<LinearLayout
                        android:layout_width="fill_parent"
                        android:layout_height="fill_parent"
                        android:layout_weight="33"
                        android:gravity="center_horizontal"
                        android:orientation="vertical"
                        android:background="@drawable/button_frame"
                        android:id="@+id/viewAddItemBtn"
                        android:onClick="BtnListener"
                        >
                    <ImageButton
                        android:layout_height="wrap_content"
                        android:layout_width="wrap_content"
                        android:background="@drawable/addbutton"

                        />
                    <TextView 
                        android:text="Add Item"
                        android:layout_height="wrap_content"
                        android:layout_width="wrap_content"
                        android:layout_gravity="center"
                        android:layout_marginTop="5dp"
                        />
                        </LinearLayout>

Однако у меня теперь есть некоторые проблемы с 1. «кликабельностью» и состояниями (сфокусировано / нажато / нормальное). Как вы можете догадаться из моего кода: если я нажму на «ImageButton» (который может быть в тоже время просмотром изображения для решения), это ничего не делает. (потому что onClick не назначен, я думал, что он унаследует атрибут от его общего LinearLayout). Во-вторых, если я сделаю «ImageButton» Clickable тоже, я думаю, что состояния не будут вызываться, я здесь?

есть ли лучшие решения для моего дизайна? Небольшая демонстрация того, как должна выглядеть кнопка: http://i.imgur.com/aI2Vb.png

1 Ответ

2 голосов
/ 13 августа 2011

Почему бы вам не добавить свойство onClick для всех компонентов:

<LinearLayout
                        android:layout_width="fill_parent"
                        android:layout_height="fill_parent"
                        android:layout_weight="33"
                        android:gravity="center_horizontal"
                        android:orientation="vertical"
                        android:background="@drawable/button_frame"
                        android:id="@+id/viewAddItemBtn"
                        android:onClick="BtnListener"
                        >
                    <ImageButton
                        android:layout_height="wrap_content"
                        android:layout_width="wrap_content"
                        android:background="@drawable/addbutton"
                        android:onClick="BtnListener"

                        />
                    <TextView 
                        android:text="Add Item"
                        android:layout_height="wrap_content"
                        android:layout_width="wrap_content"
                        android:layout_gravity="center"
                        android:layout_marginTop="5dp"
                        android:onClick="BtnListener"
                        />
                        </LinearLayout>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...