Есть ли какой-нибудь способ, чтобы элементы пользовательского интерфейса слегка перекрывались (один поверх другого) без использования абсолютных макетов?

#android #user-interface #widget #overlap #absolute

#Android #пользовательский интерфейс #виджет #перекрытие #абсолютный

Вопрос:

Допустим, у меня есть список на экране, который я всегда хочу использовать. Я также хочу, чтобы небольшое изображение или textview слегка перекрывали listview. Возможно ли что-нибудь подобное без использования абсолютных параметров макета?

Я никогда не видел этого ни в одном приложении для Android или учебнике, но во многих приложениях для iPhone есть подобные вещи. Это добавляет приятный штрих.

(Кроме того, у меня нет никакого кода для показа, потому что я не уверен, с чего начать)

Ответ №1:

Относительные макеты также позволяют вещам перекрываться. Представления, объявленные позже в xml, будут сверху. Я считаю, что выравнивание краев вида и использование полей должны позволить вам достичь этого эффекта без особых трудностей.

Ответ №2:

Вы могли бы использовать RelativeLayout и установить, например android:layout_marginTop="-50dip" android:layout_below="@id/my_list" .

Ответ №3:

Помимо RelativeLayouts, вы также можете использовать FrameLayouts для стекирования объектов. Кроме z-порядка (последний объявленный объект = наивысший z-порядок), дочерние объекты не зависят от расположения других объектов в группе, поэтому вы можете просто задать поля или гравитацию для их позиционирования.

Итак, в вашем случае просто объявите TextView после вашего ListView и расположите его там, где вы хотите. Это не повлияет на позиционирование ListView, и он будет располагаться сверху.

Комментарии:

1. Спасибо за ответ. Я собираюсь это проверить. Я использовал z-индексы в веб-разработке, и они довольно просты. я не знал, что они были в Android. Спасибо.