在下面的xml布局中,我想制作一个托管一些textview的表格布局。下面发布的xml布局的结果是每个旁边的四个textview 其他没有间距。我知道我可以使用边距来远离另一个视图,但是我想使用重力方向在视图之间做间距 布局重心。
我想要的结果是
new
我希望tfu在同一位置显示,而不管里程表值的数字位数。换句话说,请考虑以下内容 我不想要的例子
odometer:value space space space space space tfu:val
我想要的是,无论里程表的数字位数如何,tfu textview必须始终在sam位置移位,如下例所示:
odometer:1234567 tfu:1234567
odometer:1234567890 tfu:1234567
码:
odometer:1234567 tfu:1234567
odometer:1234567890121223434 tfu:1234567
please tell me how achieve that.
答案 0 :(得分:1)
试试这个
<RelativeLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content"
>
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentLeft="true"/>
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentRight="true"/>
</RelativeLayout>
这是我正在使用的那个。一个在右边,一个在左边。如果你想要更多,请重复它,并使用边距来调整空间。
答案 1 :(得分:1)
<?xml version="1.0" encoding="utf-8"?>
<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" android:fitsSystemWindows="true"
tools:context=".MainActivity">
<TableLayout
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:shrinkColumns="*"
android:collapseColumns="*"
android:orientation="vertical">
<TableRow
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_gravity="center_horizontal"
android:orientation="horizontal">
<LinearLayout
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="1">
<TextView
android:id="@+id/tv_label_odometer"
android:text="odometer: "/>
<TextView
android:id="@+id/tv_odometer"
android:text="val"/>
</LinearLayout>
<LinearLayout
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="1">
<TextView
android:id="@+id/tv_label_tfu"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_gravity="center_horizontal"
android:text="tfu: "/>
<TextView
android:id="@+id/tv_tfu"/>
</LinearLayout>
</TableRow>
</TableLayout>
</RelativeLayout>
添加一个LinearLayout来包装两个TextView,并将其宽度设置为0dp,将layout_weight设置为1.然后两个linearlayout将具有其父宽度的一半,我认为这可以解决您的问题。
答案 2 :(得分:1)
<?xml version="1.0" encoding="utf-8"?>
<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"
android:fitsSystemWindows="true"
tools:context=".MainActivity" >
<TableLayout
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:orientation="vertical" >
<TableRow
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_gravity="center_horizontal"
android:orientation="horizontal" >
<TextView
android:id="@+id/tv_label_odometer"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="odometer: " />
<TextView
android:id="@+id/tv_odometer"
android:layout_width="0sp"
android:layout_height="wrap_content"
android:layout_weight="2"
android:text="1234567" />
<TextView
android:id="@+id/tv_label_tfu"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="tfu: " />
<TextView
android:id="@+id/tv_tfu"
android:layout_width="0sp"
android:layout_height="wrap_content"
android:layout_weight="1"
android:text="1234567" />
</TableRow>
</TableLayout>
</RelativeLayout>