我试图在我的xml文件中对齐两个元素。
我想在同一行显示名为“Description”的TextView和名为“Value”的TextView。描述应该与中心对齐,值应该与中心对齐。但是下面的引力似乎并没有影响到它们。
我假设我应该避免使用AbsoluteLayout,因为屏幕尺寸不同。
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout
android:id="@+id/LinearLayout01"
android:layout_width="fill_parent"
android:layout_height="wrap_content" >
<TextView
android:id="@+id/TextViewDescription"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="right"
android:text="@+id/TextView01" >
</TextView>
<TextView
android:id="@+id/TextViewValue"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="left"
android:text="@+id/TextView02" >
</TextView>
</LinearLayout>
我也看过TableLayout,但也很挣扎。
在屏幕下方创建一组中心对齐的描述/值的正确方法是什么,以便它们在纵向和横向视图中都显示正常?
答案 0 :(得分:1)
试试这个:
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/LinearLayout01"
android:layout_width="fill_parent"
android:layout_height="fill_parent" >
<ImageView
android:id="@+id/dummy"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_centerHorizontal="true" />
<TextView
android:id="@+id/TextViewValue"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_toLeftOf="@id/dummy"
android:text="@+id/TextView01" />
<TextView
android:id="@+id/TextViewDescription"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_toRightOf="@id/dummy"
android:text="@+id/TextView02" />
</RelativeLayout>
答案 1 :(得分:0)
在TableRow中使用android:gravity="center"
。
以下想法并不优雅。仅供参考。
使用RelativeLayout。 创建一个不可见的控件作为布局centerHorizontal。 然后使用Layout toLeftOf和toRightOf到此控件,使控件向左或向右中心。 也许“控制”必须是布局。
另一种方法是在RelativeLayout中使用TableLayout,如果你的控件是以dip的形式测量的。 在RelativeLayout中使用center_horizontal,并为两个控件指定TableLayout的宽度。然后将控件放在TableRow中。