Как убрать пустое место на моем макете? - PullRequest
2 голосов
/ 03 мая 2020

у меня есть это макет

У меня есть scroolview в root, текст редактирования и линейный макет в root каждого раздела трех кнопок изображения

Это выглядит так на некоторых устройствах, я хочу, чтобы это выглядело , что на всех

Как это сделать? Вот мой XML:

<?xml version="1.0" encoding="utf-8"?>
<ScrollView xmlns:android="http://schemas.android.com/apk/res/android"
    android:id="@+id/scrool"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:background="#bbbbbb"
    android:fillViewport="false">

        <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
            android:id="@+id/mainlayout"
            android:layout_width="match_parent"
            android:layout_height="match_parent"
            android:background="#bbbbbb"
            android:orientation="vertical">


            <EditText
                android:id="@+id/editText"
                android:layout_width="match_parent"
                android:layout_height="wrap_content"

                android:ems="10"
                android:hint="Количество дней"
                android:textStyle="italic" />

            <LinearLayout
                android:layout_width="match_parent"
                android:layout_height="wrap_content"

                android:orientation="horizontal">

                <ImageButton
                    android:id="@+id/winter"
                    android:layout_width="192dp"
                    android:layout_height="183dp"
                    android:layout_alignParentRight="true"
                    android:layout_weight="2"
                    android:gravity="left|center_vertical"
                    android:onClick="Winter"

                    android:paddingTop="32sp"
                    android:scaleType="fitCenter"
                    android:src="@drawable/winter"
                    android:text="Зима"
                    android:textColor="#FFFFFF" />


                <ImageButton
                    android:id="@+id/Middle"
                    android:layout_width="192dp"
                    android:layout_height="183dp"
                    android:layout_alignParentRight="true"
                    android:layout_weight="2"
                    android:gravity="left|center_vertical"
                    android:onClick="Middle"
                    android:paddingTop="32sp"
                    android:scaleType="fitCenter"
                    android:src="@drawable/listok"
                    android:text="Весна/Осень"
                    android:textColor="#FFFFFF" />

                <ImageButton
                    android:id="@+id/Summer"
                    android:layout_width="192dp"
                    android:layout_height="183dp"
                    android:layout_alignParentRight="true"
                    android:layout_weight="2"
                    android:gravity="left|center_vertical"
                    android:onClick="Summer"
                    android:paddingTop="32sp"
                    android:scaleType="fitCenter"
                    android:src="@drawable/summer"
                    android:text="Лето"
                    android:textColor="#FFFFFF" />
            </LinearLayout>

            <LinearLayout
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:orientation="horizontal">


                <ImageButton
                    android:id="@+id/man"
                    android:layout_width="192dp"
                    android:layout_height="183dp"
                    android:layout_alignParentRight="true"
                    android:layout_weight="2"
                    android:gravity="left|center_vertical"
                    android:onClick="Man"
                    android:paddingTop="32sp"
                    android:scaleType="fitCenter"
                    android:src="@drawable/man"
                    android:textColor="#FFFFFF" />

                <ImageButton
                    android:id="@+id/child"
                    android:layout_width="192dp"
                    android:layout_height="183dp"
                    android:layout_alignParentRight="true"
                    android:layout_weight="2"
                    android:gravity="left|center_vertical"
                    android:onClick="Child"
                    android:paddingTop="32sp"
                    android:scaleType="fitCenter"
                    android:src="@drawable/child"
                    android:textColor="#FFFFFF" />

                <ImageButton
                    android:id="@+id/woman"
                    android:layout_width="192dp"
                    android:layout_height="183dp"
                    android:layout_alignParentRight="true"
                    android:layout_weight="2"
                    android:gravity="left|center_vertical"
                    android:onClick="Woman"
                    android:paddingTop="32sp"
                    android:scaleType="fitCenter"
                    android:src="@drawable/woman"
                    android:textColor="#FFFFFF" />
            </LinearLayout>

            <LinearLayout
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:orientation="horizontal">


                <ImageButton
                    android:id="@+id/turizm"
                    android:layout_width="192dp"
                    android:layout_height="183dp"
                    android:layout_alignParentRight="true"
                    android:layout_weight="2"
                    android:gravity="left|center_vertical"
                    android:onClick="turizm"
                    android:paddingTop="32sp"
                    android:scaleType="fitCenter"
                    android:src="@drawable/turizm"
                    android:textColor="#FFFFFF" />

                <ImageButton
                    android:id="@+id/komandirovka"
                    android:layout_width="192dp"
                    android:layout_height="183dp"
                    android:layout_alignParentRight="true"
                    android:layout_weight="2"
                    android:gravity="left|center_vertical"
                    android:onClick="komandirovka"
                    android:paddingTop="32sp"
                    android:scaleType="fitCenter"
                    android:src="@drawable/komandirovka"
                    android:textColor="#FFFFFF" />

                <ImageButton
                    android:id="@+id/plyazh"
                    android:layout_width="192dp"
                    android:layout_height="183dp"
                    android:layout_alignParentRight="true"
                    android:layout_weight="2"
                    android:gravity="left|center_vertical"
                    android:onClick="plyazh"
                    android:paddingTop="32sp"
                    android:scaleType="fitCenter"

                    android:src="@drawable/plyazh"
                    android:textColor="#FFFFFF" />
            </LinearLayout>

        </LinearLayout>

    </ScrollView>

Спасибо за любую помощь. Сейчас я ломаю голову.


Здесь я добавляю текст, чтобы позволить stackoverflow опубликовать мой вопрос

Таблица в отделе компьютерной поддержки: Теория - это когда ты все знаешь, но ничего не работает. Практика - это когда все работает, но никто не знает почему. На этом месте мы объединяем теорию и практику - ничего не работает, и никто не знает почему!

Ответы [ 3 ]

0 голосов
/ 03 мая 2020

Не используйте dp размеры, это зависит от размера телефона, и у вас не будет того, что вы хотите. Используйте weight для координации раскладок.

0 голосов
/ 03 мая 2020

Сделайте высоту как ScrollView, так и прямой внутренний LinearLayout как wrap_content

<?xml version="1.0" encoding="utf-8"?>
<ScrollView xmlns:android="http://schemas.android.com/apk/res/android"
    android:id="@+id/scrool"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:background="#bbbbbb"
    android:fillViewport="false">

    <LinearLayout
        android:id="@+id/mainlayout"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:background="#bbbbbb"
        android:orientation="vertical">

0 голосов
/ 03 мая 2020

Измените свой код в соответствии с моим кодом

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:id="@+id/mainlayout"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:background="#bbbbbb"
    android:orientation="vertical">

    <EditText
        android:id="@+id/editText"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:ems="10"
        android:hint="Количество дней"
        android:textStyle="italic" />

    <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:layout_weight="1"
        android:orientation="horizontal">

        <ImageButton
            android:id="@+id/winter"
            android:layout_width="match_parent"
            android:layout_height="match_parent"
            android:layout_weight="1"
            android:onClick="Winter"
            android:paddingTop="32sp"
            android:scaleType="fitCenter"
            android:src="@drawable/ic_app"
            android:text="Зима"
            android:textColor="#FFFFFF" />


        <ImageButton
            android:id="@+id/Middle"
            android:layout_width="match_parent"
            android:layout_height="match_parent"
            android:layout_weight="1"
            android:onClick="Middle"
            android:paddingTop="32sp"
            android:scaleType="fitCenter"
            android:src="@drawable/ic_app"
            android:text="Весна/Осень"
            android:textColor="#FFFFFF" />

        <ImageButton
            android:id="@+id/Summer"
            android:layout_width="match_parent"
            android:layout_height="match_parent"
            android:layout_weight="1"
            android:onClick="Summer"
            android:paddingTop="32sp"
            android:scaleType="fitCenter"
            android:src="@drawable/ic_app"
            android:text="Лето"
            android:textColor="#FFFFFF" />
    </LinearLayout>

    <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_weight="1"
        android:orientation="horizontal">


        <ImageButton
            android:id="@+id/man"
            android:layout_width="match_parent"
            android:layout_height="match_parent"
            android:layout_weight="1"
            android:onClick="Man"
            android:paddingTop="32sp"
            android:scaleType="fitCenter"
            android:src="@drawable/ic_app"
            android:textColor="#FFFFFF" />

        <ImageButton
            android:id="@+id/child"
            android:layout_width="match_parent"
            android:layout_height="match_parent"
            android:layout_weight="1"
            android:onClick="Child"
            android:paddingTop="32sp"
            android:scaleType="fitCenter"
            android:src="@drawable/ic_app"
            android:textColor="#FFFFFF" />

        <ImageButton
            android:id="@+id/woman"
            android:layout_width="match_parent"
            android:layout_height="match_parent"
            android:layout_weight="1"
            android:onClick="Woman"
            android:paddingTop="32sp"
            android:scaleType="fitCenter"
            android:src="@drawable/ic_app"
            android:textColor="#FFFFFF" />
    </LinearLayout>

    <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_weight="1"
        android:orientation="horizontal">


        <ImageButton
            android:id="@+id/turizm"
            android:layout_width="match_parent"
            android:layout_height="match_parent"
            android:layout_weight="1"
            android:onClick="turizm"
            android:paddingTop="32sp"
            android:scaleType="fitCenter"
            android:src="@drawable/ic_app"
            android:textColor="#FFFFFF" />

        <ImageButton
            android:id="@+id/komandirovka"
            android:layout_width="match_parent"
            android:layout_height="match_parent"
            android:layout_weight="1"
            android:onClick="komandirovka"
            android:paddingTop="32sp"
            android:scaleType="fitCenter"
            android:src="@drawable/ic_app"
            android:textColor="#FFFFFF" />

        <ImageButton
            android:id="@+id/plyazh"
            android:layout_width="match_parent"
            android:layout_height="match_parent"
            android:layout_weight="1"
            android:onClick="plyazh"
            android:paddingTop="32sp"
            android:scaleType="fitCenter"
            android:src="@drawable/ic_app"
            android:textColor="#FFFFFF" />
    </LinearLayout>

</LinearLayout>

Надеюсь, это поможет

Этот код проверен мной и работает

Спасибо! Удачного кодирования!

...