我正在为我的应用创建一个XML布局,我需要在文本下方对齐一个按钮,但是因为我使用了一个LinearLayout将一些文本与属性权重对齐,所以按钮保持不同的布局,现在我定义了属性“android:layout_below”,它没有找到文本的ID。 那么,有人有任何建议可以在不使用Java的情况下解决这个问题吗?
这是我的代码:
<RelativeLayout 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" >
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:weightSum="3" >
<TextView
android:id="@+id/text1"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="1"
android:gravity="center"
android:text="text1"
android:textAppearance="?android:attr/textAppearanceLarge" />
<TextView
android:id="@+id/text2"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="1"
android:gravity="center"
android:text="text2"
android:textAppearance="?android:attr/textAppearanceLarge" />
<TextView
android:id="@+id/text3"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="1"
android:gravity="center"
android:text="text3"
android:textAppearance="?android:attr/textAppearanceLarge" />
</LinearLayout>
<Button
android:id="@+id/button"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignLeft="@+id/text1"
android:layout_alignParentLeft="true"
android:layout_below="@+id/text1"
android:gravity="center"
android:text="Button" />
</RelativeLayout>
编辑:
该按钮必须与text1
对齐,这个想法是使用三个属性:align_left,align_right和align_below,因此按钮具有相同的文本宽度。我还有其他观点可以用文本设置属性。
答案 0 :(得分:0)
您可以为LinearLayout设置ID:
<LinearLayout
android:id="@+id/text"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:weightSum="3" >
并使用
将按钮置于布局下android:layout_below="@+id/text"
要对齐第一个文本下的按钮,您可以将text1和按钮包含在垂直线性布局中:
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="wrap_content" >
<LinearLayout
android:layout_width="match_parent"
android:layout_height="fill_parent"
android:weightSum="3" >
<LinearLayout
android:layout_width="0dp"
android:layout_height="match_parent"
android:layout_weight="1"
android:orientation="vertical" >
<TextView
android:id="@+id/text1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:gravity="center"
android:text="text1"
android:textAppearance="?android:attr/textAppearanceLarge" />
<Button
android:id="@+id/button"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:gravity="center"
android:text="Button" />
</LinearLayout>
<TextView
android:id="@+id/text2"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="1"
android:gravity="center"
android:text="text2"
android:textAppearance="?android:attr/textAppearanceLarge" />
<TextView
android:id="@+id/text3"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="1"
android:gravity="center"
android:text="text3"
android:textAppearance="?android:attr/textAppearanceLarge" />
</LinearLayout>
</RelativeLayout>