Горизонтальная LinearLayout не будет соответствовать родительской при использовании его в HorizontalScrollView - PullRequest
0 голосов
/ 04 мая 2020

Я хочу создать горизонтальную прокрутку для своего приложения (у меня шесть кнопок, которые должны быть распределены одинаково), все работает нормально при использовании меньшего дисплея (nexus 6 1440x 2560), но при использовании большего дисплея (пиксель C 2560x1800) У меня есть место. Я заметил, что ширина LinearLayout охватывает только содержимое, хотя я использую match_parent в android: layout_width

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    tools:context="com.example.android.xieon_2.Home_dashboard">

    <LinearLayout
        android:id="@+id/main_vertical_layout"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:orientation="vertical"
        tools:ignore="MissingConstraints"
        tools:layout_editor_absoluteX="0dp"
        tools:layout_editor_absoluteY="30dp">

        <HorizontalScrollView
            android:layout_marginTop="10dp"
            android:layout_width="match_parent"
            android:layout_height="wrap_content">

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

                <ImageButton
                    android:id="@+id/bedroom_but"
                    android:layout_width="80dp"
                    android:layout_height="80dp"
                    android:layout_marginLeft="10dp"
                    android:background="@drawable/round_shape"
                    android:src="@drawable/bedroom_icon" />

                <ImageButton
                    android:id="@+id/kitchen_but"
                    android:layout_width="80dp"
                    android:layout_height="80dp"
                    android:layout_marginLeft="9dp"
                    android:background="@drawable/round_shape"
                    android:src="@drawable/kitchen_icon" />

                <ImageButton
                    android:id="@+id/living_room_but"
                    android:layout_width="80dp"
                    android:layout_height="80dp"
                    android:layout_marginLeft="9dp"
                    android:background="@drawable/round_shape"
                    android:src="@drawable/living_room" />

                <ImageButton
                    android:id="@+id/kids_room_but"
                    android:layout_width="80dp"
                    android:layout_height="80dp"
                    android:layout_marginLeft="9dp"
                    android:background="@drawable/round_shape"
                    android:src="@drawable/kids_room_icon" />

                <ImageButton
                    android:id="@+id/bathroom_but"
                    android:layout_width="80dp"
                    android:layout_height="80dp"
                    android:layout_marginLeft="9dp"
                    android:background="@drawable/round_shape"
                    android:src="@drawable/bathroom_icon" />

                <ImageButton
                    android:id="@+id/Guestroom_but"
                    android:layout_width="80dp"
                    android:layout_height="80dp"
                    android:layout_marginLeft="9dp"
                    android:background="@drawable/round_shape"
                    android:src="@drawable/guest_room" />

            </LinearLayout>
        </HorizontalScrollView>

        <TextView
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="----------------------------------------------------------------"
            android:textColor="@color/RoyalBlue"
            android:textSize="20sp" />

        <Button
            android:id="@+id/control_but"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_gravity="center_horizontal"
            android:layout_marginTop="30dp"
            android:text="Control" />

        <RelativeLayout
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:layout_marginTop="30dp">

            <ImageView
                android:id="@+id/temp_icon_2"
                android:layout_width="50dp"
                android:layout_height="50dp"
                android:layout_marginLeft="10dp"
                android:src="@drawable/temperature_icon" />

            <TextView
                android:id="@+id/temp_val"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_toEndOf="@+id/temp_icon_2"
                android:text="26"
                android:textColor="@color/RoyalBlue"
                android:textSize="40sp" />

            <TextView
                android:id="@+id/degree_2"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_toEndOf="@+id/temp_val"
                android:text="°"
                android:textColor="@color/RoyalBlue"
                android:textSize="40sp" />

            <TextView
                android:id="@+id/pcnt"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_alignParentEnd="true"
                android:layout_marginRight="10dp"
                android:text="%"
                android:textColor="@color/RoyalBlue"
                android:textSize="40sp" />

            <TextView
                android:id="@+id/hum_val_2"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_toStartOf="@+id/pcnt"
                android:text="85"
                android:textColor="@color/RoyalBlue"
                android:textSize="40sp" />

            <ImageView
                android:id="@+id/humidity_icon_2"
                android:layout_width="50dp"
                android:layout_height="50dp"
                android:layout_toStartOf="@+id/hum_val_2"
                android:src="@drawable/humidity_icon" />

        </RelativeLayout>

        <RelativeLayout
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:layout_marginTop="50dp">

            <ImageView
                android:id="@+id/noise_icon"
                android:layout_width="70dp"
                android:layout_height="70dp"
                android:layout_alignParentStart="true"
                android:layout_alignTop="@+id/noise_unit"
                android:src="@drawable/air_quality" />

            <TextView
                android:id="@+id/noise_val"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_centerVertical="true"
                android:layout_toEndOf="@+id/noise_icon"
                android:text="15"
                android:textColor="@color/RoyalBlue"
                android:textSize="40sp" />

            <TextView
                android:id="@+id/noise_unit"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_centerVertical="true"
                android:layout_marginLeft="5dp"
                android:layout_toEndOf="@+id/noise_val"
                android:text="PPM"
                android:textColor="@color/RoyalBlue"
                android:textSize="28sp" />

            <TextView
                android:id="@+id/security_state"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_alignBottom="@+id/noise_val"
                android:layout_alignParentEnd="true"
                android:layout_marginEnd="12dp"
                android:text="ON"
                android:textColor="@color/RoyalBlue"
                android:textSize="35sp" />

            <ImageView
                android:id="@+id/security_icon"
                android:layout_width="50dp"
                android:layout_height="50dp"
                android:layout_alignBottom="@+id/noise_val"
                android:layout_toStartOf="@+id/security_state"
                android:src="@drawable/home_security"
                android:layout_marginTop="10dp"/>
        </RelativeLayout>
    </LinearLayout>
</LinearLayout>

с большим дисплеем

приложение с небольшим дисплеем

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...