Android 如何在TableLayout的中心添加图像
我有一个TableLayout,其中一些tablerow如下: 我想在上述布局的圆形标记下添加一个图像,如下所述: 这是我的布局代码:Android 如何在TableLayout的中心添加图像,android,android-layout,android-imageview,android-view,Android,Android Layout,Android Imageview,Android View,我有一个TableLayout,其中一些tablerow如下: 我想在上述布局的圆形标记下添加一个图像,如下所述: 这是我的布局代码: <TableLayout android:layout_width="wrap_content" android:id="@+id/table1" android:gravity="center" android:layout_height="wrap_content">
<TableLayout
android:layout_width="wrap_content"
android:id="@+id/table1"
android:gravity="center"
android:layout_height="wrap_content">
<TableRow>
<ImageView
android:layout_width="70dp"
android:layout_height="70dp"
android:id="@+id/img1_1"
android:background="@drawable/button"
android:layout_margin="3dp"
/>
<ImageView
android:layout_width="70dp"
android:layout_height="70dp"
android:id="@+id/img1_2"
android:background="@drawable/button"
android:layout_margin="3dp" />
</TableRow>
<TableRow>
<ImageView
android:layout_width="70dp"
android:layout_height="70dp"
android:id="@+id/img1_3"
android:background="@drawable/button"
android:layout_margin="3dp"
/>
<ImageView
android:layout_width="70dp"
android:layout_height="70dp"
android:id="@+id/img1_4"
android:background="@drawable/button"
android:layout_margin="3dp" />
</TableRow>
</TableLayout>
那么,如何在布局的中心位置添加图像呢?试试这种结构
<FrameLayout>
<TableLayout></TableLayout>
<ImageView android:layout_gravity="centre"/>
</FrameLayout>
像这样的东西会有用的
<?xml version="1.0" encoding="utf-8"?>
<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context="biw.myapplication.MainActivity">
<TableLayout
android:layout_width="wrap_content"
android:id="@+id/table1"
android:layout_gravity="center"
android:layout_height="wrap_content">
<TableRow>
<ImageView
android:layout_width="70dp"
android:layout_height="70dp"
android:id="@+id/img1_1"
android:background="@drawable/button"
android:layout_margin="3dp"
/>
<ImageView
android:layout_width="70dp"
android:layout_height="70dp"
android:id="@+id/img1_2"
android:background="@drawable/button"
android:layout_margin="3dp" />
</TableRow>
<TableRow>
<ImageView
android:layout_width="70dp"
android:layout_height="70dp"
android:id="@+id/img1_3"
android:background="@drawable/button"
android:layout_margin="3dp"
/>
<ImageView
android:layout_width="70dp"
android:layout_height="70dp"
android:id="@+id/img1_4"
android:background="@drawable/button"
android:layout_margin="3dp" />
</TableRow>
</TableLayout>
<ImageView
android:layout_gravity="center"
android:layout_width="70dp"
android:layout_height="70dp" />
</FrameLayout>
值得注意的是,您应该研究gravity
和layout\u gravity
之间的区别,gravity
指定布局内小部件的对齐方式,而layout\u gravity
将对齐方式指定给布局本身
此外,此代码仅在为图像指定静态宽度和高度时有效
结果:
我会使用FrameLayout,将图像分层到TableLayout之上,然后将重力分配给图像。你可以给我一个示例,因为我已经尝试过FrameLayout,但问题在于分层