我可以知道如何在这三个Textview旁边对齐Button吗?而不是仅仅在Textviews下面。 这是XML文件。
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent" android:layout_height="fill_parent"
android:orientation="vertical" android:id="@+id/linearlayout1"
android:background="#000000">
<TextView android:layout_width="wrap_content"
android:layout_height="wrap_content" android:id="@+id/textview1"
android:layout_alignParentLeft="true" android:text="Textview1" />
<TextView android:layout_width="wrap_content"
android:layout_height="wrap_content" android:text="Textview2"
android:layout_alignParentLeft="true" android:id="@+id/Textview2" />
<TextView android:layout_width="wrap_content"
android:layout_height="wrap_content" android:layout_alignParentLeft="true"
android:text="Textview3" android:id="@+id/Textview3" />
<RelativeLayout android:id="@+id/relativeLayout2"
android:layout_width="wrap_content" android:layout_height="wrap_content">
<Button android:id="@+id/button" android:layout_width="70px"
android:layout_height="38px" android:text="Button"
/>
</RelativeLayout>
</LinearLayout>
</RelativeLayout>
答案 0 :(得分:5)
IMO你应该把三个textview和按钮放在RelativeLayout中,并摆脱LinearLayout。当你只用一个布局时,有两个布局是没有意义的,因为每个ViewGroup都会增加布局和绘制通道的开销。做:
<RelativeLayout>
<TextView android:id="@+id/tv1" android:layout_alignParentTop="true" android:layout_alignParentLeft="true"/>
<TextView android:id="@+id/tv2" android:layout_alignParentLeft="true" android:layout_below="@id/tv1"/>
<TextView android:id="@+id/tv3" android:layout_alignParentLeft="true" android:layout_below="@id/tv2"/>
<Button android:id="@+id/btn" android:layout_toRightOf="@id/tv1"/>
</RelativeLayout>
我没有编译它,但它应该做你需要的。使用您给出的布局参数按钮(您可以将其对齐父级的顶部和右侧,或任何文本框的右侧等)。
RelativeLayout非常强大;你应该真正利用它的灵活性。
答案 1 :(得分:4)
使用Button
:android:layout_alignParentRight = "true"
,
因此Button
的xml代码如下:
<Button android:id="@+id/button"
android:layout_width="70px"
android:layout_height="38px"
android:text="Button"
android:layout_alignParentRight="true" <!-- align the Button on the right side -->
/>
答案 2 :(得分:0)
您也可以使用:
android:layout_gravity="end"
答案 3 :(得分:-1)
您的问题标题建议您只想将按钮与屏幕右侧对齐。在那种情况下,其他答案都没问题。但是,在您的问题中,您说您希望按钮“旁边”Textviews。在这种情况下,请阅读以下内容:
你的外LinearLayout
是垂直方向的,所以它的所有直接孩子都会在彼此之下。根据您希望的外观,您可能希望在当前LinearLayout
的外部或内部嵌套水平LinearLayout
。
A RelativeLayout
将其子女相对于彼此定位,而不是相对于其外部的东西。也许你想要这些内容(我没有尝试编译):
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent" android:layout_height="fill_parent"
android:orientation="horizontal" android:id="@+id/linearlayout1"
android:background="#000000">
<Button android:id="@+id/button" android:layout_width="70px"
android:layout_height="38px" android:text="Button" />
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent" android:layout_height="fill_parent"
android:orientation="vertical" android:id="@+id/linearlayout1"
android:background="#000000">
<TextView android:layout_width="wrap_content"
android:layout_height="wrap_content" android:id="@+id/textview1"
android:layout_alignParentLeft="true" android:text="Textview1" />
<TextView android:layout_width="wrap_content"
android:layout_height="wrap_content" android:text="Textview2"
android:layout_alignParentLeft="true" android:id="@+id/Textview2" />
<TextView android:layout_width="wrap_content"
android:layout_height="wrap_content" android:layout_alignParentLeft="true"
android:text="Textview3" android:id="@+id/Textview3" />
</LinearLayout>
</LinearLayout>