[英]Having a textview below another textview that is centered?
我目前有一個居中的文本視圖,並且想在居中的文本視圖下方添加另一個文本視圖,但它只是將它放在與前一個文本視圖相同的位置,有沒有辦法解決這個問題?
代碼:
<FrameLayout
android:layout_width="350dp"
android:layout_height="500dp"
android:background="@color/white">
<TextView
android:id="@+id/info_name"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:gravity="center"
android:text="@string/test"
android:textSize="18sp"
android:textStyle="normal"
/>
<TextView
android:id="@+id/info_text"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:gravity="center"
android:text="@string/test"
android:textSize="18sp"
android:textStyle="normal"
/>
</FrameLayout>
您正在將第二個文本視圖中的重力設置為中心,將其刪除或在那里使用您想要的重力
將線性布局與android:orientation一起使用,然后您就獲得了中心布局
<LinearLayout
android:layout_width="350dp"
android:layout_height="500dp"
android:orientation="vertical"
android:background="@color/white">
<TextView
android:id="@+id/info_name"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:gravity="center"
android:text="@string/test"
android:textSize="18sp"
android:textStyle="normal"
/>
<TextView
android:id="@+id/info_text"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:gravity="center"
android:text="@string/test"
android:textSize="18sp"
android:textStyle="normal"
/>
</FrameLayout>
而不是使用FrameLayout
使用LinearLayout
<LinearLayout
android:gravity="center"
android:layout_width="350dp"
android:layout_height="500dp"
android:background="@color/white"
android:orientation="vertical">
<TextView
android:id="@+id/info_name"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/test"
android:textSize="18sp"
android:textStyle="normal"
/>
<TextView
android:id="@+id/info_text"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/test"
android:textSize="18sp"
android:textStyle="normal"
/>
</LinearLayout>
輸出:
我希望這對你有用。
<?xml version="1.0" encoding="utf-8"?>
<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="@color/white">
<TextView
android:id="@+id/info_name"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="10dp"
android:gravity="center"
android:text="@string/test"
android:textSize="18sp"
android:textStyle="normal" />
<TextView
android:id="@+id/info_text"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="40dp"
android:layout_marginBottom="10dp"
android:gravity="center"
android:text="@string/test"
android:textSize="18sp"
android:textStyle="normal" />
</FrameLayout>
始終使用match_parent
和wrap_content
而不是 dp 中的維度。
我在你的文件中看到你有兩個文本視圖的 android:layout_gravity="center" 和 android:gravity="center" 。 這將使他們坐在彼此之上。 您可以嘗試在 info_name 的底部和 info_text 的頂部放置一些填充,如下所示:
<?xml version="1.0" encoding="utf-8"?>
<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="350dp" android:layout_height="500dp">
<TextView
android:id="@+id/info_name"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:paddingBottom="60dp"
android:layout_gravity="center"
android:gravity="center"
android:text="@string/test"
android:textSize="18sp"
android:textStyle="normal" />
<TextView
android:id="@+id/info_text"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:paddingTop="60dp"
android:layout_gravity="center"
android:gravity="center"
android:text="@string/test"
android:textSize="18sp"
android:textStyle="normal" />
</FrameLayout>
雖然這會增加一些空間,但它基本上只是拉伸 textview 本身,textview 仍然會重疊。 您可以使用上面建議的線性布局,但我更喜歡使用約束布局,因為它使放置項目和提供間距變得更加容易。 您可以右鍵單擊組件樹中的 FrameLayout 並將其轉換為 ConstraintLayout。 然后,您可以放置 info_name 並將其約束句柄設置為 50 在約束小部件Android Studio ConstraintLayout 小部件中,然后將另一個 textview 掛鈎到它並將其設置在您喜歡放置第二個 textview 的位置。
這是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:id="@+id/frameLayout"
android:layout_width="match_parent"
android:layout_height="match_parent">
<TextView
android:id="@+id/info_name"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/test"
android:textSize="18sp"
android:textStyle="normal"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent" />
<TextView
android:id="@+id/info_text"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/test"
android:textSize="18sp"
android:textStyle="normal"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@+id/info_name"
app:layout_constraintVertical_bias="0.100000024" />
</androidx.constraintlayout.widget.ConstraintLayout>
您可以在此處的文檔中找到更多信息。
在相對布局中放置兩個文本視圖
<?xml version="1.0" encoding="utf-8"?>
<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="350dp"
android:layout_height="500dp"
android:background="@android:color/darker_gray">
<RelativeLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:gravity="center">
<TextView
android:id="@+id/info_name"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:gravity="center"
android:text="Name"
android:textSize="18sp"
android:textStyle="normal" />
<TextView
android:layout_below="@+id/info_name"
android:id="@+id/info_text"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:gravity="center"
android:text="Test"
android:textSize="18sp"
android:textStyle="normal" />
</RelativeLayout>
</FrameLayout>
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.