请参阅XML
<TableLayout
android:layout_weight="0"
android:background="@color/black"
android:layout_height="fill_parent"
android:layout_width="fill_parent"
android:layout_marginStart="0dp"
android:layout_marginTop="0dp">
<TableRow android:orientation="horizontal" android:layout_weight="1" android:layout_height="wrap_content"></TableRow>
<TableRow
android:layout_gravity="center"
android:orientation="horizontal"
android:layout_weight="1"
android:layout_height="wrap_content">
<ImageButton
android:layout_gravity="center"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:background="@drawable/tmp0"
android:id="@+id/startButton">
</ImageButton></TableRow>
<TableRow android:layout_weight="1" android:layout_height="wrap_content" android:weightSum="3"></TableRow>
</TableLayout>
错过了哪些属性或错误设置为在第二行中间设置ImageButton? (纵向和横向)
如何制作相等的行高和宽度?
我在问题/答案基础中搜索没有成功..
==========================
更新:
要将Button放在中间,第二行应标记如下:
<TableRow **android:gravity="center"** android:orientation="horizontal" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_weight="1" android:weightSum="3"> <ImageButton android:layout_gravity="center" android:layout_width="wrap_content" android:layout_height="wrap_content" android:background="@drawable/tmp0" android:id="@+id/startButton"> </ImageButton> </TableRow>
但如何使行高相等仍然不明白。
第二行现在格式如下,但在Designer中它与第二张图片相同
<TableRow
android:gravity="center"
android:layout_gravity="center"
android:orientation="horizontal"
android:layout_height="wrap_content"
android:layout_width="match_parent"
android:layout_weight="1"
android:weightSum="3">
<ImageButton
android:layout_gravity="center"
android:gravity="center"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:background="@drawable/tmp0"
android:id="@+id/startButton">
</ImageButton>
</TableRow>
答案 0 :(得分:1)
如果我没弄错,第二行需要{{1}}
答案 1 :(得分:0)
<强>更新强>
我认为TableRow可以在整个屏幕中修复垂直,每行的高度相同,直到你使所有TableRow都相同。这就是TableLayout和TableRow的行为。参见:
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:orientation="vertical">
<TableLayout
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:stretchColumns="*">
<TableRow
android:layout_weight="1"
android:gravity="center">
<Button
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:text="Button" />
<Button
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:text="Button" />
<Button
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:text="Button" />
</TableRow>
<TableRow
android:layout_weight="1"
android:gravity="center">
<Button
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:text="Button" />
<Button
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:text="Button" />
<Button
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:text="Button" />
</TableRow>
<TableRow
android:layout_weight="1"
android:gravity="center">
<Button
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:text="Button" />
<Button
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:text="Button" />
<Button
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:text="Button" />
</TableRow>
</TableLayout>
</LinearLayout>
这将垂直划分您的行。
现在就这样做:
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:orientation="vertical">
<TableLayout
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:stretchColumns="*">
<TableRow
android:layout_weight="1"
android:gravity="center">
<!--<Button-->
<!--android:layout_width="fill_parent"-->
<!--android:layout_height="fill_parent"-->
<!--android:text="Button" />-->
<!--<Button-->
<!--android:layout_width="fill_parent"-->
<!--android:layout_height="fill_parent"-->
<!--android:text="Button" />-->
<!--<Button-->
<!--android:layout_width="fill_parent"-->
<!--android:layout_height="fill_parent"-->
<!--android:text="Button" />-->
</TableRow>
<TableRow
android:layout_weight="1"
android:gravity="center">
<Button
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:text="Button" />
<Button
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:text="Button" />
<Button
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:text="Button" />
</TableRow>
<TableRow
android:layout_weight="1"
android:gravity="center">
<!--<Button-->
<!--android:layout_width="fill_parent"-->
<!--android:layout_height="fill_parent"-->
<!--android:text="Button" />-->
<!--<Button-->
<!--android:layout_width="fill_parent"-->
<!--android:layout_height="fill_parent"-->
<!--android:text="Button" />-->
<!--<Button-->
<!--android:layout_width="fill_parent"-->
<!--android:layout_height="fill_parent"-->
<!--android:text="Button" />-->
</TableRow>
</TableLayout>
</LinearLayout>
它会给第二排带来更多的重量。
<强> OLD 强>
你走了。
需要在第二行设置android:gravity="center"
<?xml version=<?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:layout_marginStart="0dp"
android:layout_marginTop="0dp"
android:layout_weight="0"
android:background="@color/colorPrimary">
<TableRow
android:layout_height="wrap_content"
android:layout_weight="1"
android:orientation="horizontal"></TableRow>
<TableRow
android:layout_height="wrap_content"
android:layout_gravity="center"
android:layout_weight="1"
android:gravity="center"
android:orientation="horizontal">
<ImageButton
android:id="@+id/startButton"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:background="@drawable/ic_launcher"></ImageButton>
</TableRow>
<TableRow
android:layout_height="wrap_content"
android:layout_weight="1"
android:weightSum="3"></TableRow>
</TableLayout>