План расположения аранжировки Android с высотой в процентах

Я очень новичок в андроиде и тренируюсь. Я пытаюсь создать экран. который будет содержать фоновое изображение и плавающий контейнер с раздвижными меню. (Для получения дополнительной информации см. Прилагаемое изображение)

Мой макет состоит из фонового изображения, контейнера с несколькими значками, которые плавают снизу, но с некоторым отрывом снизу (см. прикрепленную фотографию).

Насколько мне известно, это может быть достигнуто путем организации "Относительной компоновки" внизу и размещения в ней изображений. Правильно ли это?

Также мне бы хотелось добавить повторяющееся прозрачное изображение в качестве фона плавающего div.

Пожалуйста, дайте мне хороший совет или укажите мне хороший учебник

Заранее спасибо

enter image description here

Ответ 1

Вы можете использовать LinearLayout и установить layout_weight как% в xml

Что касается повторяющегося фона, вы можете использовать tileMode

Пример. Обратите внимание, что для weightSum установлено значение 100, чтобы указать, что общий вес будет 100. Если layout_weight=10 предоставит ему 10% распределение пространства.

<LinearLayout
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:orientation="vertical"
    android:layout_gravity="bottom"
    android:weightSum="100">
    <LinearLayout
        android:layout_width="fill_parent"
        android:layout_height="0dp"
        android:layout_weight="10"
        android:background="@drawable/bg"
        android:orientation="horizontal"
        android:tileMode="repeat" >
    </LinearLayout>
    <View 
        android:layout_width="fill_parent"
        android:layout_height="0dp"
        android:layout_weight="5" />
</LinearLayout>

Ответ 2

Вы можете добиться этого с помощью новой библиотеки поддержки процентов: https://developer.android.com/tools/support-library/features.html#percent

Сделав что-то вроде этого:

<android.support.percent.PercentRelativeLayout
    xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    android:layout_width="match_parent"
    android:layout_height="match_parent">

    <View
        android:layout_width="0dp"
        android:layout_height="0dp"
        android:layout_alignParentBottom="true"
        app:layout_heightPercent="11%"
        app:layout_widthPercent="100%" />

</android.support.percent.PercentRelativeLayout>

Ответ 3

если вы хотите разделить высоту в процентах, вам нужен линейный макет с горизонтальной ориентацией и добавьте layout_weight для каждого элемента.

руководство по линейной компоновке

Ответ 5

<view android:layout_width="wrap_content"
      class="net.zel.percentage.PercentageButton"
      android:id="@+id/button"
      android:layout_height="wrap_content"

      customView:percentage_width="50"
      customView:percentage_height="50"

      />

чтобы добавить нужные атрибуты в библиотеку
https://github.com/metrolog3005/percentage_view