Android 一起添加 TableLayout 和 LinearLayout?

Android add TableLayout and LinearLayout together?

我有一个基本的 LinearLayout,里面有 TableLayout 和 ImageView,我想在顶部有 table 然后在底部中心有图片,我该如何解决这个问题? 在 java 代码中,我将所有行添加到 TableLayout 中,因此希望在此处的代码中看到。

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:orientation="vertical"
android:layout_width="fill_parent"
android:layout_height="match_parent"
app:showAsAction="ifRoom">

<TableLayout
    android:id="@+id/Table"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:stretchColumns="1"
    android:shrinkColumns="0">
</TableLayout>

<!--<LinearLayout-->
    <!--android:layout_gravity="bottom"-->
    <!--android:id="@+id/secLayout"-->
    <!--android:orientation="vertical"-->
    <!--android:layout_width="wrap_content"-->
    <!--android:layout_height="wrap_content">-->

    <ImageView
        android:id="@+id/pic1"
        android:src="@mipmap/pic1"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content">
    </ImageView>

<!--</LinearLayout>-->

有什么想法吗?

请检查我的解决方案

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    android:orientation="vertical"
    android:layout_width="fill_parent"
    android:layout_height="match_parent"
    app:showAsAction="ifRoom"  // remove it
    >
    <TableLayout
        android:id="@+id/Table"
        android:layout_width="match_parent"
        android:layout_height="0dp" // change it
        android:layout_weight = 1 // add it
        android:stretchColumns="1"
        android:shrinkColumns="0">
    </TableLayout>

    <ImageView
        android:id="@+id/pic1"
        android:src="@mipmap/pic1"
        android:layout_gravity="center"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content">
    </ImageView>

</LinearLayout>

希望对您有所帮助

尝试使用 RelativeLayout 而不是 LinearLayout 作为父布局。

使用android:layout_alignParentBottom="true"对齐底部的ImageViewandroid:layout_centerHorizontal="true"ImageView 居中对齐。

试试这个代码。

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:layout_width="fill_parent"
android:layout_height="match_parent"
app:showAsAction="ifRoom">

    <TableLayout
        android:id="@+id/Table"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:layout_above="@+id/pic1"
        android:stretchColumns="1"
        android:shrinkColumns="0">
    </TableLayout>

    <ImageView
        android:id="@+id/pic1"
        android:src="@mipmap/pic1"
        android:layout_alignParentBottom="true"
        android:layout_centerHorizontal="true"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content">
    </ImageView>

</RelativeLayout>