我正在努力让我的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>
答案 0 :(得分:2)
使用这个......
<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>
答案 1 :(得分:2)
<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>
答案 2 :(得分:2)
只需要添加上述答案,只要您希望所有组件垂直(或水平)对齐,就必须使用线性布局。
由于在相对布局中,组件相对于其他组件是定位的,因此会增加布局的复杂性。当您使用设计生成布局时,它无效。
如果您将来使用线性布局,很少有提示:
使用android:orientation="vertical"
将组件垂直对齐。
android:orientation="horizontal"
要使组件水平对齐。
使用weightSum和weight如下所示:
<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)
答案 3 :(得分:1)
将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>
这可能会对你有所帮助。