我希望实现一种布局,其中屏幕垂直分为两半,右半部分有1个文本字段,左侧有文本和编辑字段。我希望左文本fiels从中心开始,左侧字段以中心结束。我尝试使用下面的代码,但它不起作用。
我使用了线性布局,如何将文本框移动到代码下面的中心左侧
<LinearLayout android:layout_width="fill_parent"
android:layout_height="fill_parent" android:orientation="vertical"
android:gravity="center">
<LinearLayout android:id="@+id/calcInterestRateRow"
android:layout_width="fill_parent" android:layout_height="wrap_content"
android:orientation="horizontal">
<LinearLayout android:layout_marginRight="3dip"
android:layout_width="fill_parent" android:layout_height="wrap_content" android:layout_gravity="right"
android:orientation="horizontal" android:layout_weight="1">
<TextView android:text="%" android:textColor="@color/white"
android:layout_width="wrap_content" android:layout_height="wrap_content" />
<EditText android:id="@+id/calcInterestRateLabel"
android:layout_height="wrap_content" android:layout_width="90dip"
android:lines="1" android:inputType="phone" android:imeOptions="actionNext" />
</LinearLayout>
<TextView android:id="@+id/calcSalesTaxLabel"
android:layout_marginLeft="3dip" android:layout_width="fill_parent"
android:layout_height="wrap_content" android:text="Interest Rate %"
android:textColor="@color/white" android:layout_weight="1" />
</LinearLayout>
</LinearLayout>
答案 0 :(得分:0)
尝试这样的事情:
<LinearLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
>
<LinearLayout
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:layout_weight="1"
android:orientation="vertical"
>
<TextView
android:id="@+id/interest_rate_label"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text="%"
/>
<EditText
android:id="@+id/interest_rate_edit"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:hint="Interest Rate..."
/>
</LinearLayout>
<LinearLayout
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:layout_weight="1"
android:orientation="vertical"
>
<TextView
android:id="@+id/sales_tax_label"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text="Interest Rate %"
/>
</LinearLayout>
<LinearLayout>
当我回到家时,我会测试它,我认为这会起作用。基本上,只需在LinearLayout中放置两个单独的LinearLayout,每个加权为1(因此它们的宽度相等),然后将视图放在这些LinearLayouts中。您可能还想为LinearLayouts添加一些填充。
编辑:使用TableLayout尝试这种方式。这不是完美的,但它会让你到那儿!
<?xml version="1.0" encoding="utf-8"?>
<TableLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:stretchColumns="1|2"
>
<TableRow
android:layout_height="wrap_content"
android:weightSum="2"
android:layout_margin="5dp"
>
<EditText
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="right"
android:layout_weight="1"
android:paddingRight="5dp"
android:gravity="right|center_vertical"
android:hint="percent"
/>
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="left|center_vertical"
android:layout_weight="1"
android:paddingLeft="5dp"
android:textStyle="bold"
android:textSize="16sp"
android:textColor="@android:color/white"
android:text="Interest Rate"
/>
</TableRow>
<TableRow
android:layout_height="wrap_content"
android:weightSum="2"
android:layout_margin="5dp"
>
<EditText
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="right"
android:layout_weight="1"
android:paddingRight="5dp"
android:gravity="right|center_vertical"
android:hint="months"
/>
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="left|center_vertical"
android:layout_weight="1"
android:paddingLeft="5dp"
android:textStyle="bold"
android:textSize="16sp"
android:textColor="@android:color/white"
android:text="Loan Term"
/>
</TableRow>
</TableLayout>