如何使这些按钮在中间对齐?这是我的界面。
这是我的以下代码。我不应该使用保证金。有什么方法可以使其在中间对齐?
<LinearLayout
android:layout_width="match_parent"
android:layout_height="0dip"
android:layout_weight="1"
android:gravity="center|bottom"
android:orientation="horizontal">
<TableLayout
android:layout_width="match_parent"
android:layout_height="wrap_content">
<TableRow>
<Button
android:id="@+id/Db_New"
android:layout_width="250dp"
android:layout_height="wrap_content"
android:background="@color/colorPrimary"
android:text="NEW" />
<Button
android:id="@+id/Db_Save"
android:layout_width="250dp"
android:layout_height="wrap_content"
android:background="@color/colorPrimary"
android:enabled="false"
android:text="SAVE" />
</TableRow>
<TableRow>
<Button
android:id="@+id/Db_Print"
android:layout_width="250dp"
android:layout_height="wrap_content"
android:background="@color/colorPrimary"
android:text="PRINT" />
<Button
android:id="@+id/Db_Back"
android:layout_width="250dp"
android:layout_height="wrap_content"
android:background="@color/colorPrimary"
android:text="BACK" />
</TableRow>
</TableLayout>
</LinearLayout>
这已经停留在底部。只有我需要它,它才能看起来更好。请帮忙。预先感谢
更新
如何使空白消失?
答案 0 :(得分:1)
您需要使用RelativeLayout
或LinearLayout
。我使用了LinearLayout
。使用此代码来对齐您的按钮。
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_weight="1"
android:gravity="center|bottom"
android:orientation="horizontal"
android:baselineAligned="false">
<LinearLayout
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="0.5"
android:gravity="center"
android:orientation="vertical">
<Button
android:id="@+id/Db_New"
android:layout_width="250dp"
android:layout_height="wrap_content"
android:background="@color/colorPrimary"
android:text="NEW" />
<Button
android:id="@+id/Db_Print"
android:layout_width="250dp"
android:layout_height="wrap_content"
android:background="@color/colorPrimary"
android:text="PRINT" />
</LinearLayout>
<LinearLayout
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="0.5"
android:gravity="center"
android:orientation="vertical">
<Button
android:id="@+id/Db_Save"
android:layout_width="250dp"
android:layout_height="wrap_content"
android:background="@color/colorPrimary"
android:enabled="false"
android:text="SAVE" />
<Button
android:id="@+id/Db_Back"
android:layout_width="250dp"
android:layout_height="wrap_content"
android:background="@color/colorPrimary"
android:text="BACK" />
</LinearLayout>
</LinearLayout>
答案 1 :(得分:0)
您可以使用android:stretchColumns="*"
并将按钮宽度设置为android:layout_width="wrap_content"
<TableLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:stretchColumns="*">
<TableRow>
<Button
android:id="@+id/Db_New"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:background="@color/colorPrimary"
android:text="NEW" />
<Button
android:id="@+id/Db_Save"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:background="@color/colorPrimary"
android:enabled="false"
android:text="SAVE" />
</TableRow>
<TableRow>
<Button
android:id="@+id/Db_Print"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:background="@color/colorPrimary"
android:text="PRINT" />
<Button
android:id="@+id/Db_Back"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:background="@color/colorPrimary"
android:text="BACK" />
</TableRow>
</TableLayout>
答案 2 :(得分:0)
我建议您使用RelativeLayout而不是TableLayout。 这样。
<RelativeLayout>
<newButton /> -> gravity:center and width:match_parent
<saveButton /> -> alignParentsRight:true
</RelativeLayout>
答案 3 :(得分:0)
只需将android:layout_width="250dp"
按钮代码替换为
android:layout_width="0dp"
android:layout_weight="1"
它将以固定宽度居中放置所有Button
。
答案 4 :(得分:0)
我们知道TableRow
是LinearLayout
的子代,因此可以使用LinearLayout属性android:layout_weight
来做您想做的事情,因此我们应该像这样:
<TableLayout
xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent"
android:layout_height="match_parent">
<TableRow
android:weightSum="2">
<Button
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="1"
android:text="new"/>
<Button
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="1"
android:text="save"/>
</TableRow>
<TableRow
android:weightSum="2">
<Button
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="1"
android:text="print"/>
<Button
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="1"
android:text="back"/>
</TableRow>
答案 5 :(得分:0)
尝试一下:
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_weight="1"
android:gravity="center|bottom"
android:orientation="vertical">
<TableLayout
android:layout_width="match_parent"
android:layout_height="wrap_content">
<TableRow
>
<Button
android:id="@+id/Db_New"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:background="@color/colorPrimary"
android:text="NEW"
android:layout_weight="0.5"/>
<Button
android:id="@+id/Db_Save"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:background="@color/colorPrimary"
android:enabled="false"
android:text="SAVE"
android:layout_weight="0.5"/>
</TableRow>
<TableRow>
<Button
android:id="@+id/Db_Print"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:background="@color/colorPrimary"
android:text="PRINT"
android:layout_weight="0.5"/>
<Button
android:id="@+id/Db_Back"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:background="@color/colorPrimary"
android:text="BACK"
android:layout_weight="0.5"/>
</TableRow>
</TableLayout>
</LinearLayout>