[英]Aligning button and textview components vertically android
我試圖使我的Button
組件和我的TextView
組件垂直對齊並且也居中。 彼此之間也有一點間距。 現在他們只是在彼此之上。
XML:
<RelativeLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:id="@+id/dueDateSection"
android:layout_below="@+id/editSection"
android:paddingBottom="@dimen/activity_edit_item_layout_vertical_margin"
android:paddingTop="@dimen/activity_edit_item_layout_vertical_margin"
android:gravity="center_vertical">
<Button
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/btnDatePicker"
android:text="Select Date"
android:layout_alignParentTop="true"
android:layout_centerHorizontal="true" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_below="@id/btnDatePicker"
android:textSize="22sp"
android:gravity="center"
android:layout_alignParentTop="true"
android:layout_centerHorizontal="true"
android:layout_alignBottom="@id/btnDatePicker" />
</RelativeLayout>
用這個 ....
<LinearLayout android:layout_width="match_parent"
android:layout_height="match_parent"
android:id="@+id/dueDateSection"
android:orientation="vertical"
android:gravity="center"
xmlns:android="http://schemas.android.com/apk/res/android">
<Button
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/btnDatePicker"
android:marginRight="5dp"
android:text="Select Date"/>
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_below="@id/btnDatePicker"
android:textSize="22sp"
android:text="Hi this is simple"/>
</LinearLayout>
<RelativeLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:id="@+id/dueDateSection"
android:layout_below="@+id/editSection"
android:paddingBottom="15dp"
android:paddingTop="15dp"
android:gravity="center_vertical">
<LinearLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_centerInParent="true"
android:orientation="vertical">
<Button
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/btnDatePicker"
android:text="Select Date" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_below="@id/btnDatePicker"
android:textSize="22sp"
android:text="CORE JAVA"
/>
</LinearLayout>
</RelativeLayout>
只需添加上述答案,您可以在希望所有組件垂直(或水平)對齊時使用線性布局。
由於在相對布局中,組件相對於其他組件是定位的,因此增加了布局的復雜性。當您使用設計生成布局時,它無效。
如果您將來使用它,有關線性布局的一些提示:
對於要垂直對齊的組件,請使用android:orientation="vertical"
。 android:orientation="horizontal"
表示要水平對齊的組件。
使用weightSum和重量如下圖所示:
<Button android:layout_width="wrap_content" android:layout_height="0dp" android:text="New Button" android:id="@+id/button" android:layout_gravity="center_horizontal" android:layout_weight="1" /> <EditText android:layout_width="match_parent" android:layout_height="0dp" android:id="@+id/editText" android:layout_gravity="center_horizontal" android:layout_weight="2" /> <Button android:layout_width="wrap_content" android:layout_height="0dp" android:text="New Button" android:id="@+id/button2" android:layout_gravity="center_horizontal" android:layout_weight="1" /> <EditText android:layout_width="match_parent" android:layout_height="0dp" android:id="@+id/editText2" android:layout_gravity="center_horizontal" android:layout_weight="2" />
這里布局的總重量為12,子項被賦予不同的權重,(按鈕高度與EditText的比率為1是2,所有4個孩子一起占據布局總高度的一半是權重之和所有孩子放在一起是6,weightSum是12)
將LinearLayout
與android:orientation="vertical"
屬性一起使用
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical">
<Button
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="B1"/>
<TextView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="YOUR TEXT"/>
</LinearLayout>
這可能對你有所幫助。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.