gpt4 book ai didi

java - 使布局适用于所有具有固定尺寸的 Android 设备

转载 作者:搜寻专家 更新时间:2023-11-01 08:17:41 25 4
gpt4 key购买 nike

我面临着让我的布局在所有具有相同尺寸的 Android 设备上工作的麻烦。我注意到每次 friend 安装我的应用程序时,Buttons 和 TextViews 都会改变它们的初始位置,有时会上升或下降,或者使其中的文本环绕而不是全部显示(我将附上其中一个的一些代码布局为例)。我需要一些好的文档和/或教程以获得最佳布局设计。

布局示例:

<?xml version="1.0" encoding="utf-8"?>
<ScrollView xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="@drawable/dashboardsec"
tools:context=".main.DashboardActivity">

<LinearLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:background="#009B3232"
android:orientation="vertical"
android:paddingEnd="5dp"
android:textAlignment="textEnd">

<TextView
android:id="@+id/textView1"
android:layout_width="wrap_content"
android:layout_height="66dp"
android:layout_gravity="center_horizontal"
android:layout_marginStart="33dp"
android:layout_marginTop="40dp"
android:layout_marginEnd="40dp"
android:background="@color/common_google_signin_btn_text_dark_disabled"
android:fontFamily="sans-serif-thin"
android:gravity="center"
android:text="مرحباً بك "
android:textAlignment="textStart"
android:textColor="@color/orange1"
android:textSize="24sp" />

<Button
android:id="@+id/newsBtn"
android:layout_width="385dp"
android:layout_height="wrap_content"
android:background="#009B3232"
android:fontFamily="sans-serif-thin"
android:text=" الاخبار "
android:textAlignment="textStart"
android:textColor="#DCDFE9"
android:textColorHint="#00AF2B2B"
android:textSize="22sp" />

<Button
android:id="@+id/formatsBtn"
android:layout_width="385dp"
android:layout_height="wrap_content"
android:background="#009B3232"
android:fontFamily="sans-serif-thin"
android:text=" فورمات جاهزة و كتب رسمية"
android:textAlignment="textStart"
android:textColor="#DCDFE9"
android:textSize="22sp" />

<Button
android:id="@+id/storagebtN"
android:layout_width="385dp"
android:layout_height="wrap_content"
android:background="#009B3232"
android:fontFamily="sans-serif-thin"
android:text=" فيديو و صور "
android:textAlignment="textStart"
android:textColor="#DCDFE9"
android:textSize="22sp" />

<Button
android:id="@+id/exchangeBtn"
android:layout_width="385dp"
android:layout_height="wrap_content"
android:background="#009B3232"
android:fontFamily="sans-serif-thin"
android:text=" طلبات استبدال المراكز "
android:textAlignment="textStart"
android:textColor="#DCDFE9"
android:textSize="22sp" />

<Button
android:id="@+id/askBtn"
android:layout_width="385dp"
android:layout_height="wrap_content"
android:background="#009B3232"
android:fontFamily="sans-serif-thin"
android:text=" الخرائط و الصرافات الالية "
android:textAlignment="textStart"
android:textColor="#DCDFE9"
android:textSize="22sp" />

<Button
android:id="@+id/phonesBtn"
android:layout_width="385dp"
android:layout_height="wrap_content"
android:background="#009B3232"
android:fontFamily="sans-serif-thin"
android:text=" فهرست الهواتف"
android:textAlignment="textStart"
android:textColor="#DCDFE9"
android:textSize="22sp" />

<Button
android:id="@+id/websitsbtn"
android:layout_width="385dp"
android:layout_height="wrap_content"
android:background="#009B3232"
android:fontFamily="sans-serif-thin"
android:text=" صفحات تابعة لللجنة"
android:textAlignment="textStart"
android:textColor="#DCDFE9"
android:textSize="22sp" />

<Button
android:id="@+id/profilebtn"
android:layout_width="385dp"
android:layout_height="wrap_content"
android:background="#009B3232"
android:fontFamily="sans-serif-thin"
android:shadowColor="@color/common_google_signin_btn_text_dark_focused"
android:text=" أدوات مفيدة coming soon"
android:textAlignment="textStart"
android:textColor="#DCDFE9"
android:textSize="22sp" />

<Button
android:id="@+id/button1"
android:layout_width="385dp"
android:layout_height="wrap_content"
android:background="#009B3232"
android:fontFamily="sans-serif-thin"
android:text=" السوق coming soon"
android:textAlignment="textStart"
android:textColor="#DCDFE9"
android:textSize="22sp" />

<Button
android:id="@+id/usersaccount"
android:layout_width="385dp"
android:layout_height="wrap_content"
android:background="#009B3232"
android:fontFamily="sans-serif-thin"
android:text=" التحكم بالاعضاء"
android:textAlignment="textStart"
android:textColor="#DCDFE9"
android:textSize="22sp" />

<Button
android:id="@+id/sendimalsBtn"
android:layout_width="385dp"
android:layout_height="wrap_content"
android:background="#009B3232"
android:fontFamily="sans-serif-thin"
android:text=" ارسال بريد للادارة"
android:textAlignment="textStart"
android:textColor="#DCDFE9"
android:textSize="22sp" />

<Button
android:id="@+id/button"
android:layout_width="385dp"
android:layout_height="wrap_content"
android:background="#009B3232"
android:fontFamily="sans-serif-thin"
android:text=" تسجيل خروج "
android:textAlignment="textStart"
android:textColor="#DCDFE9"
android:textSize="22sp" />


</LinearLayout>

</ScrollView>

enter image description here

最佳答案

发生这种情况是因为您在 View 上使用了固定大小的尺寸,并且因为不同的手机有不同的屏幕尺寸,您会看到这种差异。

如评论部分所述-您可以使用ConstraintLayout创建一个布局以支持所有不同的屏幕尺寸。

这是您想要的布局示例(无论如何看起来都相似):

<?xml version="1.0" encoding="utf-8"?>
<ScrollView 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"
android:layoutDirection="ltr"
android:orientation="vertical">

<android.support.constraint.ConstraintLayout
android:layout_width="match_parent"
android:layout_height="wrap_content">


<Button
android:id="@+id/button6"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_marginStart="8dp"
android:layout_marginTop="8dp"
android:layout_marginEnd="8dp"
android:layout_marginBottom="8dp"
app:layout_constraintBottom_toTopOf="@+id/button5"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintHeight_percent=".2"
app:layout_constraintHorizontal_bias="0.5"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent" />

<Button
android:id="@+id/button5"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_marginStart="8dp"
android:layout_marginTop="8dp"
android:layout_marginEnd="8dp"
android:layout_marginBottom="8dp"
app:layout_constraintBottom_toTopOf="@+id/button7"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintHeight_percent=".2"
app:layout_constraintHorizontal_bias="0.5"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@+id/button6" />

<Button
android:id="@+id/button7"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_marginStart="8dp"
android:layout_marginTop="8dp"
android:layout_marginEnd="8dp"
android:layout_marginBottom="8dp"
app:layout_constraintBottom_toTopOf="@+id/button8"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintHeight_percent=".2"
app:layout_constraintHorizontal_bias="0.5"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@+id/button5" />

<Button
android:id="@+id/button8"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_marginStart="8dp"
android:layout_marginTop="8dp"
android:layout_marginEnd="8dp"
android:layout_marginBottom="8dp"
app:layout_constraintBottom_toTopOf="@+id/button9"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintHeight_percent=".2"
app:layout_constraintHorizontal_bias="0.5"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@+id/button7" />

<Button
android:id="@+id/button9"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_marginStart="8dp"
android:layout_marginTop="8dp"
android:layout_marginEnd="8dp"
android:layout_marginBottom="8dp"
app:layout_constraintBottom_toTopOf="@+id/button10"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintHeight_percent=".2"
app:layout_constraintHorizontal_bias="0.5"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@+id/button8" />

<Button
android:id="@+id/button10"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_marginStart="8dp"
android:layout_marginTop="8dp"
android:layout_marginEnd="8dp"
android:layout_marginBottom="8dp"
app:layout_constraintBottom_toTopOf="@+id/button11"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintHeight_percent=".2"
app:layout_constraintHorizontal_bias="0.5"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@+id/button9" />

<Button
android:id="@+id/button11"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_marginStart="8dp"
android:layout_marginTop="8dp"
android:layout_marginEnd="8dp"
android:layout_marginBottom="8dp"
app:layout_constraintBottom_toTopOf="@+id/button12"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintHeight_percent=".2"
app:layout_constraintHorizontal_bias="0.5"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@+id/button10" />

<Button
android:id="@+id/button12"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_marginStart="8dp"
android:layout_marginTop="8dp"
android:layout_marginEnd="8dp"
android:layout_marginBottom="8dp"
app:layout_constraintBottom_toTopOf="@+id/button13"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintHeight_percent=".2"
app:layout_constraintHorizontal_bias="0.5"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@+id/button11" />

<Button
android:id="@+id/button13"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_marginStart="8dp"
android:layout_marginTop="8dp"
android:layout_marginEnd="8dp"
android:layout_marginBottom="8dp"
app:layout_constraintBottom_toTopOf="@+id/button14"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintHeight_percent=".2"
app:layout_constraintHorizontal_bias="0.5"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@+id/button12" />

<Button
android:id="@+id/button14"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_marginStart="8dp"
android:layout_marginTop="8dp"
android:layout_marginEnd="8dp"
android:layout_marginBottom="8dp"
app:layout_constraintBottom_toTopOf="@+id/button15"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintHeight_percent=".2"
app:layout_constraintHorizontal_bias="0.5"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@+id/button13" />

<Button
android:id="@+id/button15"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_marginStart="8dp"
android:layout_marginTop="8dp"
android:layout_marginEnd="8dp"
android:layout_marginBottom="8dp"
app:layout_constraintBottom_toTopOf="@+id/button16"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintHeight_percent=".2"
app:layout_constraintHorizontal_bias="0.5"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@+id/button14" />

<Button
android:id="@+id/button16"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_marginStart="8dp"
android:layout_marginTop="8dp"
android:layout_marginEnd="8dp"
android:layout_marginBottom="8dp"
app:layout_constraintBottom_toTopOf="@+id/button17"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintHeight_percent=".2"
app:layout_constraintHorizontal_bias="0.5"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@+id/button15" />

<Button
android:id="@+id/button17"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_marginStart="8dp"
android:layout_marginTop="8dp"
android:layout_marginEnd="8dp"
android:layout_marginBottom="8dp"
app:layout_constraintBottom_toTopOf="@+id/button18"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintHeight_percent=".2"
app:layout_constraintHorizontal_bias="0.5"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@+id/button16" />

<Button
android:id="@+id/button18"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_marginStart="8dp"
android:layout_marginTop="8dp"
android:layout_marginEnd="8dp"
android:layout_marginBottom="8dp"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintHeight_percent=".2"
app:layout_constraintHorizontal_bias="0.5"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@+id/button17" />


</android.support.constraint.ConstraintLayout>

</ScrollView>

关于java - 使布局适用于所有具有固定尺寸的 Android 设备,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57451110/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com