Я меняю макет, чтобы использовать RelativeLayout вместо сложного вложенного LinerLayouts, но я столкнулся с некоторыми проблемами с получением OnClickListener для работы View.Android RelativeLayout clickable overlay view
Я пробовал обычные вещи - выставляю на передний план, устанавливаем интерактивный, устанавливая фокусируемое/focusableInTouchMode в true и false, ничто, кажется, не работает для меня. Надеюсь, я только что сделал глупую ошибку, и вы, ребята, можете помочь мне: D
Вот мой код:
Layout: < удалены, см редактировать>
Пользовательские базовый адаптер: < удален , получается его просто макетный вопрос>
Макет для элемента строки в адаптере списка, и мне нужно сделать только половину строки, доступной по клику, так как другая половина имеет свои собственные переключатели (которые работают правильно).
Заранее благодарим за любые предложения!
EDIT: Это странно - я изменил его от View к TextView, установить цвет фона, и теперь он показывает вверх - но это не следующие относительные параметры макета:
android:layout_alignParentTop="true"
android:layout_alignParentLeft="true"
android:layout_alignParentBottom="true"
android:layout_toLeftOf="@+id/toggle"
В частности, она не делает выровняйте его сверху. Но щелчок работает! Теперь, чтобы просто получить его, чтобы покрыть весь путь к вершине ...
EDIT2:
Обновленный код макета:
< удалены, см позже редактировать>
EDIT3:
Апельсин clickView - я хочу, чтобы он расширялся до вершины каждой строки.
EDIT4: (изменено название)
Ok Я получил это работает должным образом в настоящее время, с clickView, покрывающей верхнюю строку в нижней части левой стороны (и без использования определенной высоты/ширины).
Вот текущий код макета, дайте мне знать, есть ли что-то, что я должен делать по-другому/любые улучшения, о которых вы можете думать!
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent" android:layout_height="match_parent">
<View android:id="@+id/fakeView"
android:layout_width="0dp"
android:layout_height="0dp"
android:layout_centerInParent="true"/>
<TextView android:id="@+id/clickView"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_alignParentTop="true"
android:layout_alignParentLeft="true"
android:layout_toLeftOf="@+id/toggle"
android:layout_alignBottom="@+id/pokemonTypes" />
<!-- android:background="#ffff914e" -->
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textAppearance="?android:attr/textAppearanceMedium"
android:text="001"
android:id="@+id/pokemonNumber"
android:layout_alignParentTop="true"
android:layout_alignParentLeft="true"
android:layout_margin="5dp" />
<TextView
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:textAppearance="?android:attr/textAppearanceMedium"
android:text="Bulbasaur"
android:id="@+id/pokemonName"
android:layout_alignParentTop="true"
android:layout_toRightOf="@+id/pokemonNumber"
android:layout_alignRight="@+id/fakeView"
android:layout_marginLeft="5dp" />
<TextView
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:textAppearance="?android:attr/textAppearanceSmall"
android:text="Grass"
android:id="@+id/pokemonTypes"
android:layout_below="@+id/pokemonName"
android:layout_toRightOf="@+id/pokemonNumber"
android:layout_alignRight="@+id/fakeView"
android:layout_marginLeft="5dp" />
<ImageView
android:layout_width="wrap_content"
android:layout_height="match_parent"
android:id="@+id/pokemonImage"
android:layout_centerInParent="true"
android:layout_alignParentTop="true"
android:layout_alignLeft="@+id/fakeView" />
<ToggleButton
android:id="@+id/toggle"
android:layout_width="25dp"
android:layout_height="25dp"
android:background="@drawable/check1"
android:textOn=""
android:textOff=""
android:focusable="false"
android:focusableInTouchMode="false"
android:layout_margin="5dp"
android:layout_centerInParent="true"
android:layout_alignParentTop="true"
android:layout_toLeftOf="@+id/toggle2" />
<ToggleButton
android:id="@+id/toggle2"
android:layout_width="25dp"
android:layout_height="25dp"
android:background="@drawable/check2"
android:textOn=""
android:textOff=""
android:focusable="false"
android:focusableInTouchMode="false"
android:layout_margin="5dp"
android:layout_centerInParent="true"
android:layout_alignParentTop="true"
android:layout_toLeftOf="@+id/toggle3" />
<ToggleButton
android:id="@+id/toggle3"
android:layout_width="25dp"
android:layout_height="25dp"
android:background="@drawable/check3"
android:textOn=""
android:textOff=""
android:focusable="false"
android:focusableInTouchMode="false"
android:layout_margin="5dp"
android:layout_centerInParent="true"
android:layout_alignParentTop="true"
android:layout_alignParentRight="true" />
</RelativeLayout>
Еще одна вещь, которую я хотел бы сделать - добавить больше пространства справа от клевантах (маржи возможно?), Так что при прокрутке быстрой прокрутки не покрывает пуговицу. Есть идеи?
Почему у вас есть 'android: focusableInTouchMode =" false "и' android: focusable = "false" '? – codeMagic
Осталось от них попробовать - я установил их как истинные, так и истинные, другие истинные ... и т. Д., Без успеха. Он не работает без них – mmmyum
Я хочу это приложение –