您好,我在 Android Studio 中制作了我的第一個應用程式,但遇到了一些問題。我閱讀了有關我的問題的每個 stackoverflow 的主題和 android 檔案,但我仍然不明白我應該做什么。
我對應用程式使用 ConstraintLayout,并為不同的螢屏尺寸使用“SDP”“SSP”庫。在每臺設備(也是我的自定義設備)上的 Android Studio 預覽中,我的應用程式看起來不錯 螢屏截圖 但是當我在手機上測驗應用程式(與 Android Studio“LG”中的設備相同的手機)時,應用程式與預覽 截圖 就像你可以看到一些元素消失了
我應該怎么做才能使手機上的應用程式看起來與預覽中的一樣,并適應不同的設備和螢屏尺寸?
這是我的 XML
<?xml version="1.0" encoding="utf-8"?>
<androidx.constraintlayout.widget.ConstraintLayout 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"
android:background="#ff11111a"
android:theme="@style/Theme.PlayRPGMobile"
tools:context=".MainActivity">
<ImageView
android:id="@ id/imageView"
android:layout_width="@dimen/_230sdp"
android:layout_height="@dimen/_300sdp"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@ id/login_logo"
app:layout_constraintVertical_bias="0.299"
app:srcCompat="@drawable/rectangle" />
<ImageView
android:id="@ id/login_logo"
android:layout_width="@dimen/_300sdp"
android:layout_height="0dp"
android:layout_marginTop="@dimen/_64sdp"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintHorizontal_bias="0.476"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent"
app:srcCompat="@drawable/logo" />
<TextView
android:id="@ id/textView3"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="@dimen/_28sdp"
android:fontFamily="sans-serif-medium"
android:text="Wprowad? swoje dane"
android:textSize="@dimen/_15ssp"
app:layout_constraintBottom_toTopOf="@ id/loginEdit"
app:layout_constraintEnd_toEndOf="@ id/imageView"
app:layout_constraintHorizontal_bias="0.502"
app:layout_constraintStart_toStartOf="@ id/imageView"
app:layout_constraintTop_toTopOf="@ id/imageView"
app:layout_constraintVertical_bias="0.0"
tools:text="Wprowad? swoje dane" />
<TextView
android:id="@ id/textView2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="@dimen/_24sdp"
android:fontFamily="sans-serif-medium"
android:text="Play RPG ? 2022"
android:textSize="@dimen/_15ssp"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@ id/imageView"
tools:text="Play RPG ? 2022" />
<EditText
android:id="@ id/loginEdit"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="@dimen/_80sdp"
android:background="#ff222228"
android:ems="10"
android:hint="Login..."
android:inputType="textPersonName"
android:minHeight="@dimen/_38sdp"
android:paddingLeft="@dimen/_10sdp"
android:paddingTop="@dimen/_5sdp"
android:paddingBottom="@dimen/_2sdp"
app:layout_constraintEnd_toEndOf="@ id/imageView"
app:layout_constraintHorizontal_bias="0.533"
app:layout_constraintStart_toStartOf="@ id/imageView"
app:layout_constraintTop_toTopOf="@ id/imageView" />
<EditText
android:id="@ id/passEdit"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="@dimen/_20sdp"
android:background="#ff222228"
android:ems="10"
android:hint="Has?o..."
android:inputType="textPassword"
android:minHeight="@dimen/_38sdp"
android:paddingLeft="@dimen/_10sdp"
android:paddingTop="@dimen/_5sdp"
android:paddingBottom="@dimen/_5sdp"
app:layout_constraintEnd_toEndOf="@ id/loginEdit"
app:layout_constraintHorizontal_bias="0.0"
app:layout_constraintStart_toStartOf="@ id/loginEdit"
app:layout_constraintTop_toBottomOf="@ id/loginEdit" />
<Button
android:id="@ id/loginBtn"
android:layout_width="@dimen/_130sdp"
android:layout_height="@dimen/_38sdp"
android:backgroundTint="#ff222228"
android:fontFamily="sans-serif-medium"
android:text="Zaloguj"
android:textColor="@color/white"
app:layout_constraintBottom_toBottomOf="@ id/imageView"
app:layout_constraintEnd_toEndOf="@ id/pinEdit"
app:layout_constraintHorizontal_bias="0.497"
app:layout_constraintStart_toStartOf="@ id/pinEdit"
app:layout_constraintTop_toBottomOf="@ id/pinEdit"
app:layout_constraintVertical_bias="0.512" />
<EditText
android:id="@ id/pinEdit"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="@dimen/_20sdp"
android:background="#ff222228"
android:ems="10"
android:hint="PIN..."
android:inputType="number"
android:minHeight="@dimen/_38sdp"
android:paddingLeft="@dimen/_10sdp"
android:paddingTop="@dimen/_5sdp"
android:paddingBottom="@dimen/_5sdp"
app:layout_constraintEnd_toEndOf="@ id/passEdit"
app:layout_constraintHorizontal_bias="0.0"
app:layout_constraintStart_toStartOf="@ id/passEdit"
app:layout_constraintTop_toBottomOf="@ id/passEdit" />
</androidx.constraintlayout.widget.ConstraintLayout>
uj5u.com熱心網友回復:
為了制作回應式 UI,我建議在約束布局中使用指南。您可以參考此約束布局培訓指南。您也可以在約束布局鏈中使用鏈
uj5u.com熱心網友回復:
避免針對不同螢屏尺寸的硬編碼布局尺寸
為確保您的布局靈活并適應不同的螢屏尺寸,您應該使用wrap_contentormatch_parent作為大多數視圖組件的寬度和高度,而不是硬編碼的尺寸。
wrap_content 告訴視圖將其大小設定為適合該視圖中的內容所需的大小。
match_parent 使視圖盡可能地擴展到父視圖中。
查看Android 檔案會對您有所幫助。
uj5u.com熱心網友回復:
使用指南并將視圖約束到它。我遇到了同樣的問題,指導方針對我幫助很大。
轉載請註明出處,本文鏈接:https://www.uj5u.com/yidong/416053.html
標籤:
上一篇:如何使用帶有sqlite的sqlstatement在資料庫中隨機檢索多個元素?
下一篇:如何從堆疊中洗掉特定活動
