更改布局大小取决于屏幕大小

本文关键字:屏幕 取决于 布局 | 更新日期: 2023-09-27 18:05:58

我是Android编程新手。我写了一个小应用程序,但当我在4.7英寸屏幕的设备上启动它时,它看起来很小。我如何使它自动缩放不同尺寸的屏幕?

我的XML:

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:orientation="vertical"
    android:weightSum="100"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:minWidth="25px"
    android:minHeight="25px">
    <FrameLayout
        android:layout_width="wrap_content"
        android:layout_height="267.9dp"
        android:weight="100"
        android:id="@+id/frameLayout1">
        <ImageView
            android:src="@drawable/fone"
            android:layout_width="match_parent"
            android:layout_height="match_parent"
            android:scaleType="centerCrop"
            android:id="@+id/imageView1" />
        <LinearLayout
            android:orientation="horizontal"
            android:layout_width="match_parent"
            android:layout_height="140dp"
            android:id="@+id/linearLayout1"
            android:layout_marginBottom="0.0dp">
            <ImageButton
                android:src="@android:drawable/ic_menu_gallery"
                android:layout_width="49.0dp"
                android:layout_height="50.8dp"
                android:id="@+id/privateButton"
                android:layout_marginRight="98.9dp"
                android:background="#00000000" />
            <ImageButton
                android:src="@drawable/logo"
                android:layout_width="75.3dp"
                android:layout_height="64.1dp"
                android:id="@+id/logoButton"
                android:layout_marginRight="113.7dp"
                android:background="#00000000" />
            <ImageButton
                android:src="@android:drawable/ic_menu_gallery"
                android:layout_width="49.0dp"
                android:layout_height="50.8dp"
                android:id="@+id/cartButton"
                android:background="#00000000" />
        </LinearLayout>
    </FrameLayout>
    <LinearLayout
        android:orientation="horizontal"
        android:minWidth="25px"
        android:minHeight="25px"
        android:layout_width="match_parent"
        android:layout_height="142.7dp"
        android:id="@+id/linearLayout2">
        <Button
            android:text="Суші"
            android:layout_width="192.8dp"
            android:layout_height="fill_parent"
            android:id="@+id/button1"
            android:background="@drawable/sushi"
            android:textColor="#ffffff"
            android:textSize="20sp"
            android:textStyle="bold" />
        <Button
            android:text="Роли"
            android:layout_width="192.8dp"
            android:layout_height="fill_parent"
            android:id="@+id/button2"
            android:background="@drawable/rolli"
            android:textColor="#ffffff"
            android:textSize="20sp"
            android:textStyle="bold" />
    </LinearLayout>
    <LinearLayout
        android:orientation="horizontal"
        android:minWidth="25px"
        android:minHeight="25px"
        android:layout_width="match_parent"
        android:layout_height="142.7dp"
        android:id="@+id/linearLayout3">
        <Button
            android:text="Сети"
            android:layout_width="192.8dp"
            android:layout_height="match_parent"
            android:id="@+id/button3"
            android:background="@drawable/sets"
            android:textColor="#ffffff"
            android:textSize="20sp"
            android:textStyle="bold" />
        <Button
            android:text="Холодні Закуски"
            android:layout_width="192.8dp"
            android:layout_height="match_parent"
            android:id="@+id/button4"
            android:background="@drawable/holodni"
            android:textColor="#ffffff"
            android:textSize="20sp"
            android:textStyle="bold" />
    </LinearLayout>
    <LinearLayout
        android:orientation="horizontal"
        android:minWidth="25px"
        android:minHeight="25px"
        android:layout_width="match_parent"
        android:layout_height="70.2dp"
        android:id="@+id/linearLayout4"
        android:layout_marginLeft="0.0dp">
        <LinearLayout
            android:orientation="horizontal"
            android:layout_width="fill_parent"
            android:layout_height="65dp"
            android:background="#f2565c"
            android:id="@+id/linearLayout5">
            <ImageButton
                android:src="@drawable/back"
                android:layout_width="49.0dp"
                android:layout_height="50.8dp"
                android:id="@+id/previousButton"
                android:layout_marginRight="120.8dp"
                android:background="#00000000"
                android:layout_marginTop="8.6dp"
                android:clickable="true" />
            <ImageButton
                android:src="@drawable/home"
                android:layout_width="49.0dp"
                android:layout_height="50.8dp"
                android:id="@+id/homeButton"
                android:layout_marginRight="117.5dp"
                android:background="#00000000"
                android:layout_marginTop="7.4dp"
                android:clickable="true" />
            <ImageButton
                android:src="@drawable/next"
                android:layout_width="49.0dp"
                android:layout_height="50.8dp"
                android:id="@+id/nextButton"
                android:layout_marginLeft="0.0dp"
                android:background="#00000000"
                android:layout_marginTop="8.6dp"
                android:clickable="true" />
        </LinearLayout>
    </LinearLayout>
</LinearLayout>

它应该写在xml或在主活动?

更改布局大小取决于屏幕大小

如果你想让你的应用程序支持不同的屏幕大小,你应该尝试使用你的视图不模拟值,如:

android: layout_height = " 140 dp"

play with values: match_parent &wrap_content,例如:

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

使用gravitylayout_gravity属性来对齐组件。例如:

android:layout_gravity="center_horizontal"
android:gravity="center"