2013-11-28 1 views
0

У меня есть линейная компоновка с кустовыми представлениями внутри нее и хотелось бы, чтобы они действовали как кнопка, поэтому выделите ее, когда она нажата.Сделайте мой LinearLayout действующим как кнопка

Я просмотрел Ресурсы, но не могу понять, как это делается.

Любые идеи?

+1

Чтобы уточнить, вы требуете событие щелчка на этих пользовательских представлений или вы спрашивая, как «выделить» это пользовательское представление при нажатии? – TEK

+0

Ну, в будущем я буду привязываться к событию onClick, но на данный момент я просто хочу «выделить» –

+0

DHT спрашивает, хотите ли вы, чтобы каждое пользовательское представление было подсвечено при нажатии или вы хотите, чтобы весь фон LinearLayout быть выделены, когда что-либо внутри него нажата. Ваш вопрос немного неоднозначен. –

ответ

2

Создать selector.xml файл в res/drawable/ папку

добавить следующий код:

<selector xmlns:android="http://schemas.android.com/apk/res/android"> 
    <item android:drawable="@drawable/YOUR_CUSTOM_VIEW_PRESSED_BACKGROUND" android:state_pressed="true" /> 
    <item android:drawable="@drawable/YOUR_CUSTOM_VIEW_NORMAL_BACKGROUND" /> 
</selector> 

В пользовательской точки зрения добавить android:background="@drawable/selector"

+0

Как это подчеркивает это? –

+0

Первый означает, что при его нажатии у вашего пользовательского представления будет YOUR_CUSTOM_VIEW_PRESSED_BACKGROUND. Для понимания селектора реализуйте этот учебник http://examples.javacodegeeks.com/android/core/ui/imagebutton/android-imagebutton-selector-example/ – Dima

+1

Все представления имеют свойства состояния. Представления могут быть выбраны или отменены, нажаты или нормальны, активны/неактивны, отмечены/не проверены и т. Д. Селектор просматривает текущее «состояние» представления и выбирает подходящий вариант для использования в это время. –