#java #android #kotlin #click #z-index
#java #Android #kotlin #нажмите #z-индекс
Вопрос:
Здесь у меня есть простой пользовательский макет, расширяемый из ViewGroup (кстати, я пытался расширить другой макет, не помогает) с дочерними элементами (кнопками), которые расположены вокруг центрального значка (проверка ImageIcon) и размером переполнения контейнера 50×50 (контейнер имеет clipChildren false). Почему ни z index, ни translationZ, ни elevation не помогают мне переполнять другие элементы. Проблема заключается в щелчках. Когда я нажимаю на кнопку, щелчок обрабатывается на элементе, который находится под ним (это может быть кнопка той же группы или элемента из другого элемента списка в представлении recycler). На картинке вы можете видеть: 1 — одна из кнопок в пользовательском макете, где я пытаюсь выполнить щелчок 2 — другой элемент в представлении recycler, который находится под кнопкой 3 — центральный значок, отвечающий за открытие / закрытие дуги. Когда он закрыт, все кнопки перемещаются в центр. Тогда, если я хочу открыть arc, у меня проблема с видимым z-индексом, щелчок обрабатывается не на центральном значке, а на кнопке, которая находится в центре под центральным значком. 4 являются ли элементы представления recycler основанными на epoxy controller
<com.leadely.android.common.ArcLayout
android:layout_width="50dp"
android:layout_height="50dp"
android:layout_marginRight="50dp"
app:radius="70dp"
app:hasCenteredIcon="true"
android:clipChildren="false"
app:skip="0"
app:rotateBy="-120">
<com.joanzapata.iconify.widget.IconButton
android:id="@ id/toggleArcBtn"
android:layout_width="50sp"
android:layout_height="50sp"
android:background="?selectableItemBackgroundBorderless"
android:gravity="center"
android:textColor="#232323"
android:text="{fa-check}"
android:textSize="20sp"
android:onClick="@{(e) -> tasksListViewModel.toggleArc(e)}" />
<Button
style="@android:style/Widget.Material.Button"
android:layout_width="30sp"
android:layout_height="30sp"
android:background="#555"
android:gravity="center"
android:textColor="#fff"
android:text="1"
android:onClick="@{(v) -> tasksListViewModel.toast(v)}"/>
<Button
style="@android:style/Widget.Material.Button"
android:layout_width="30sp"
android:layout_height="30sp"
android:text="2"
android:background="#555"
android:gravity="center"
android:textColor="#fff"
android:onClick="@{(v) -> tasksListViewModel.toast(v)}" />
<Button
style="@android:style/Widget.Material.Button"
android:layout_width="30sp"
android:layout_height="30sp"
android:text="3"
android:background="#555"
android:gravity="center"
android:textColor="#fff"
android:onClick="@{(v) -> tasksListViewModel.toast(v)}" />
</com.leadely.android.common.ArcLayout>
Что я должен делать?
Ответ №1:
Добавьте этот код в интерактивное представление, установите для кликабельного и фокусируемого значение true.
android: кликабельный = «true» android: фокусируемый =»true»