<LinearLayout
android:id="@+id/linearLayout1"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:orientation="vertical" >
<LinearLayout
android:id="@+id/linearLayout2"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:orientation="horizontal" >
<TextView
android:id="@+id/textView1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Street"
android:layout_gravity="left"/>
<TextView
android:id="@+id/textView2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="456546546"
android:layout_gravity="right" />
</LinearLayout>
</LinearLayout>
我正在尝试创建一个包含两列的布局,左侧有一个textview,右侧有一个textview。但是,文本视图仍然在左侧。
答案 0 :(得分:83)
您应该使用android:layout_weight
属性。这是一个例子:
<LinearLayout
android:id="@+id/linearLayout2"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:orientation="horizontal" >
<TextView
android:id="@+id/textView1"
android:layout_width="0dp"
android:layout_weight="1"
android:layout_height="wrap_content"
android:text="Street"
android:layout_gravity="left"
android:background="#88FF0000"/>
<TextView
android:id="@+id/textView2"
android:layout_width="0dp"
android:layout_weight="1"
android:layout_height="wrap_content"
android:text="456546546"
android:layout_gravity="right"
android:background="#8800FF00"/>
</LinearLayout>
答案 1 :(得分:4)
是的,这个令人困惑。即使LinearLayout的宽度设置为fill_parent,它仍然只需要所需的最小宽度。您需要将第二个TextView设置为fill_parent,然后将其重力设置为右:
<LinearLayout
android:id="@+id/linearLayout2"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:orientation="horizontal" >
<TextView
android:id="@+id/textView1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Street"/>
<TextView
android:id="@+id/textView2"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text="456546546"
android:gravity="right" />
</LinearLayout>
答案 2 :(得分:3)
如果您希望每列中有多行,则可以使用Table Layout
答案 3 :(得分:3)
我希望它对你有所帮助。
试试此代码..
<LinearLayout 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"
android:orientation="horizontal">
<LinearLayout
android:layout_width="wrap_content"
android:layout_height="match_parent"
android:background="#00FF00"
android:paddingRight="90dp"
android:orientation="vertical" >
<Button
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/b1"
android:text="Button 1"/>
</LinearLayout>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="#FF00FF"
android:orientation="vertical" >
<Button
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/b2"
android:text="Button 2"/>
</LinearLayout>
</LinearLayout>
答案 4 :(得分:2)
如果你需要按钮之间的间隙:
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal" >
<Button
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="0.95"
android:text="Via SMS" />
<View
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="0.05" />
<Button
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="0.95"
android:text="Diaporama" />
</LinearLayout>
答案 5 :(得分:1)
执行此操作时尝试表格布局。在图形布局上拖动表格布局将项目放在单元格中。
答案 6 :(得分:0)
对于您的列只有两个垂直LinearLayouts的潜在问题是,如果行高可变,则无法确保行排成一行。 TableLayout最适合这种情况,并且还为您提供了一系列关于列如何缩小或增长以填充可用空间的控制。
自@ santhosh-shettigar发布以来,链接已发生变化。
指南:https://developer.android.com/guide/topics/ui/layout/grid.html
参考:http://developer.android.com/reference/android/widget/TableLayout.html