java - LinearLayout 中的多个 TableLayouts - Android

标签 java android scrollview android-linearlayout tablelayout

我试图在 LinearLayout 中放置多个 TableLayout。当我实现代码并运行它时,显示的是我的背景图像,上面什么也没有显示。不确定发生了什么。

在我尝试执行此操作之前,我已正确显示所有内容,但文本太多,因此必须非常小才能使所有内容都适合。为了解决这个问题,我想做 3 个 TableLayout,中间的一个是 ScrollView(我会担心在修复之后实现 ScrollView手头的问题)。

我的问题是如何使所有 3 个 TableLayout 都可见,每个都占屏幕的特定百分比。

以下是此 XML 文件的 100% 代码。

    <LinearLayout
    xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:id="@+id/tableLayout"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:stretchColumns="1"
    android:shrinkColumns="0"
    android:orientation="vertical"
    android:paddingLeft="16dp"
    android:paddingRight="16dp"
    android:paddingTop="70dp"
    android:paddingBottom="70dp"
    android:background="@drawable/scroll" >    

    <TableLayout
        android:layout_width="wrap_content"
        android:layout_height="0dip"
        android:layout_weight="15" >

        <TableRow
            android:id="@+id/header"
            android:layout_width="0dip"
            android:layout_height="wrap_content"
            android:layout_weight="1" >

            <TextView
                android:id="@+id/category"
                android:layout_height="wrap_content"
                android:layout_width="0px"
                android:layout_weight="1"
                android:textStyle="bold"
                android:textSize="15sp"
                android:paddingTop="10dp"
                android:gravity="center_horizontal" />

            <TableLayout
                android:layout_width="0dip"
                android:layout_height="wrap_content"
                android:layout_weight="1" >

                <TableRow
                    android:layout_width="0dip"
                    android:layout_height="wrap_content"
                    android:layout_weight="1" >

                    <TextView
                        android:id="@+id/points"
                        android:layout_width="0dip"
                        android:layout_height="wrap_content"
                        android:layout_weight=".25"
                        android:textSize="7sp"
                        android:gravity="left" 
                        android:textStyle="bold" />
                </TableRow>

                <TableRow
                    android:layout_width="0dip"
                    android:layout_height="wrap_content"
                    android:layout_weight="1" >

                    <TextView
                        android:id="@+id/percentage"
                        android:layout_width="0dip"
                        android:layout_height="wrap_content"
                        android:layout_weight=".3"
                        android:textSize="7sp"
                        android:gravity="left"
                        android:textStyle="bold" />
                </TableRow>

                <TableRow
                    android:layout_width="0dip"
                    android:layout_height="wrap_content"
                    android:layout_weight="1" >

                    <TextView
                        android:id="@+id/total_score"
                        android:layout_width="0dip"
                        android:layout_height="wrap_content"
                        android:layout_weight=".45"
                        android:textSize="7sp"
                        android:gravity="left"
                        android:textStyle="bold" />
                </TableRow>
            </TableLayout>
        </TableRow>

        <View 
            android:layout_width="fill_parent"
            android:layout_height="1dp"       
            android:background="#000001" />

        <TableRow
            android:id="@+id/row3"
            android:layout_width="0dip"
            android:layout_height="wrap_content"
            android:layout_weight="1" >

            <TextView
                android:id="@+id/imageColumn"
                android:layout_width="0dip"
                android:layout_height="wrap_content"
                android:layout_weight="0" />

            <TextView
                android:id="@+id/questionColumn"
                android:layout_width="0dip"
                android:layout_height="wrap_content"
                android:layout_weight=".45"
                android:textSize="10sp"
                android:textStyle="bold|italic"
                android:gravity="center_vertical" />

            <TextView
                android:id="@+id/answerColumn"
                android:layout_width="0dip"
                android:layout_height="wrap_content"
                android:layout_weight=".3"
                android:textSize="10sp"
                android:textStyle="bold|italic"
                android:gravity="center_vertical" />

            <TextView
                android:id="@+id/verseColumn"
                android:layout_width="0dip"
                android:layout_height="wrap_content"
                android:layout_weight=".25"
                android:textSize="10sp"
                android:textStyle="bold|italic"
                android:gravity="center_vertical" />
        </TableRow>
    </TableLayout>

    <ScrollView
        android:layout_width="wrap_content"
        android:layout_height="0dip"
        android:layout_weight="70" >

    <TableLayout
        android:layout_width="wrap_content"
        android:layout_height="wrap_content" >

        <TableRow
            android:layout_width="0dip"
            android:layout_height="wrap_content"
            android:layout_weight="1" >

            <ImageView
                android:id="@+id/q1Image"
                android:layout_width="10dp"
                android:layout_height="10dp"
                android:layout_gravity="center_vertical" />

            <TextView
                android:id="@+id/q1Question"
                android:layout_width="0dip"
                android:layout_height="wrap_content"
                android:layout_weight=".45"
                android:textSize="7sp"
                android:paddingLeft="2dp"
                android:paddingRight="2dp"
                android:layout_gravity="center_vertical" />

            <TextView
                android:id="@+id/q1Answer"
                android:layout_width="0dip"
                android:layout_height="wrap_content"
                android:layout_weight=".3"
                android:textSize="7sp"
                android:layout_gravity="center_vertical" />

            <TextView
                android:id="@+id/q1Verse"
                android:layout_width="0dip"
                android:layout_height="wrap_content"
                android:layout_weight=".25"
                android:textSize="7sp"
                android:layout_gravity="center_vertical" />
        </TableRow>

        <View 
            android:layout_width="fill_parent"
            android:layout_height="1dp"       
            android:background="#C2BEBF" />

        <TableRow
            android:id="@+id/row5"
            android:layout_width="0dip"
            android:layout_height="wrap_content"
            android:stretchColumns="0,1,2,3"
            android:layout_weight="1" >

            <ImageView
                android:id="@+id/q2Image"
                android:layout_width="10dp"
                android:layout_height="10dp"
                android:layout_gravity="center_vertical" />

            <TextView
                android:id="@+id/q2Question"
                android:layout_width="0dip"
                android:layout_height="wrap_content"
                android:layout_weight=".45"
                android:textSize="7sp"
                android:paddingLeft="2dp"
                android:paddingRight="2dp"
                android:layout_gravity="center_vertical" />

            <TextView
                android:id="@+id/q2Answer"
                android:layout_width="0dip"
                android:layout_height="wrap_content"
                android:layout_weight=".3"
                android:textSize="7sp"
                android:layout_gravity="center_vertical" />

            <TextView
                android:id="@+id/q2Verse"
                android:layout_width="0dip"
                android:layout_height="wrap_content"
                android:layout_weight=".25"
                android:textSize="7sp"
                android:layout_gravity="center_vertical" />
        </TableRow>

        <View 
            android:layout_width="fill_parent"
            android:layout_height="1dp"       
            android:background="#C2BEBF" />

        <TableRow
            android:id="@+id/row6"
            android:layout_width="0dip"
            android:layout_height="wrap_content"
            android:stretchColumns="0,1,2,3"
            android:layout_weight="1" >

            <ImageView
                android:id="@+id/q3Image"
                android:layout_width="10dp"
                android:layout_height="10dp"
                android:layout_gravity="center_vertical" />

            <TextView
                android:id="@+id/q3Question"
                android:layout_width="0dip"
                android:layout_height="wrap_content"
                android:layout_weight=".45"
                android:textSize="7sp"
                android:paddingLeft="2dp"
                android:paddingRight="2dp"
                android:layout_gravity="center_vertical" />

            <TextView
                android:id="@+id/q3Answer"
                android:layout_width="0dip"
                android:layout_height="wrap_content"
                android:layout_weight=".3"
                android:textSize="7sp"
                android:layout_gravity="center_vertical" />

            <TextView
                android:id="@+id/q3Verse"
                android:layout_width="0dip"
                android:layout_height="wrap_content"
                android:layout_weight=".25"
                android:textSize="7sp"
                android:layout_gravity="center_vertical" />
        </TableRow>

        <View 
            android:layout_width="fill_parent"
            android:layout_height="1dp"       
            android:background="#C2BEBF" />

        <TableRow
            android:id="@+id/row7"
            android:layout_width="0dip"
            android:layout_height="wrap_content"
            android:stretchColumns="0,1,2,3"
            android:layout_weight="1" >

            <ImageView
                android:id="@+id/q4Image"
                android:layout_width="10dp"
                android:layout_height="10dp"
                android:layout_gravity="center_vertical" />

            <TextView
                android:id="@+id/q4Question"
                android:layout_width="0dip"
                android:layout_height="wrap_content"
                android:layout_weight=".45"
                android:textSize="7sp"
                android:paddingLeft="2dp"
                android:paddingRight="2dp"
                android:layout_gravity="center_vertical" />

            <TextView
                android:id="@+id/q4Answer"
                android:layout_width="0dip"
                android:layout_height="wrap_content"
                android:layout_weight=".3"
                android:textSize="7sp"
                android:layout_gravity="center_vertical" />

            <TextView
                android:id="@+id/q4Verse"
                android:layout_width="0dip"
                android:layout_height="wrap_content"
                android:layout_weight=".25"
                android:textSize="7sp"
                android:layout_gravity="center_vertical" />
        </TableRow>

        <View 
            android:layout_width="fill_parent"
            android:layout_height="1dp"       
            android:background="#C2BEBF" />

        <TableRow
            android:id="@+id/row8"
            android:layout_width="0dip"
            android:layout_height="wrap_content"
            android:stretchColumns="0,1,2,3"
            android:layout_weight="1" >

            <ImageView
                android:id="@+id/q5Image"
                android:layout_width="10dp"
                android:layout_height="10dp"
                android:layout_gravity="center_vertical" />

            <TextView
                android:id="@+id/q5Question"
                android:layout_width="0dip"
                android:layout_height="wrap_content"
                android:layout_weight=".45"
                android:textSize="7sp"
                android:paddingLeft="2dp"
                android:paddingRight="2dp"
                android:layout_gravity="center_vertical" />

            <TextView
                android:id="@+id/q5Answer"
                android:layout_width="0dip"
                android:layout_height="wrap_content"
                android:layout_weight=".3"
                android:textSize="7sp"
                android:layout_gravity="center_vertical" />

            <TextView
                android:id="@+id/q5Verse"
                android:layout_width="0dip"
                android:layout_height="wrap_content"
                android:layout_weight=".25"
                android:textSize="7sp"
                android:layout_gravity="center_vertical" />
        </TableRow>

        <View 
            android:layout_width="fill_parent"
            android:layout_height="1dp"       
            android:background="#C2BEBF" />

        <TableRow
            android:id="@+id/row9"
            android:layout_width="0dip"
            android:layout_height="wrap_content"
            android:stretchColumns="0,1,2,3"
            android:layout_weight="1" >

            <ImageView
                android:id="@+id/q6Image"
                android:layout_width="10dp"
                android:layout_height="10dp"
                android:layout_gravity="center_vertical" />

            <TextView
                android:id="@+id/q6Question"
                android:layout_width="0dip"
                android:layout_height="wrap_content"
                android:layout_weight=".45"
                android:textSize="7sp"
                android:paddingLeft="2dp"
                android:paddingRight="2dp"
                android:layout_gravity="center_vertical" />

            <TextView
                android:id="@+id/q6Answer"
                android:layout_width="0dip"
                android:layout_height="wrap_content"
                android:layout_weight=".3"
                android:textSize="7sp"
                android:layout_gravity="center_vertical" />

            <TextView
                android:id="@+id/q6Verse"
                android:layout_width="0dip"
                android:layout_height="wrap_content"
                android:layout_weight=".25"
                android:textSize="7sp"
                android:layout_gravity="center_vertical" />
        </TableRow>

        <View 
            android:layout_width="fill_parent"
            android:layout_height="1dp"       
            android:background="#C2BEBF" />

        <TableRow
            android:id="@+id/row10"
            android:layout_width="0dip"
            android:layout_height="wrap_content"
            android:stretchColumns="0,1,2,3"
            android:layout_weight="1" >

            <ImageView
                android:id="@+id/q7Image"
                android:layout_width="10dp"
                android:layout_height="10dp"
                android:layout_gravity="center_vertical" />

            <TextView
                android:id="@+id/q7Question"
                android:layout_width="0dip"
                android:layout_height="wrap_content"
                android:layout_weight=".45"
                android:textSize="7sp"
                android:paddingLeft="2dp"
                android:paddingRight="2dp"
                android:layout_gravity="center_vertical" />

            <TextView
                android:id="@+id/q7Answer"
                android:layout_width="0dip"
                android:layout_height="wrap_content"
                android:layout_weight=".3"
                android:textSize="7sp"
                android:layout_gravity="center_vertical" />

            <TextView
                android:id="@+id/q7Verse"
                android:layout_width="0dip"
                android:layout_height="wrap_content"
                android:layout_weight=".25"
                android:textSize="7sp"
                android:layout_gravity="center_vertical" />
        </TableRow>

        <View 
            android:layout_width="fill_parent"
            android:layout_height="1dp"       
            android:background="#C2BEBF" />

        <TableRow
            android:id="@+id/row11"
            android:layout_width="0dip"
            android:layout_height="wrap_content"
            android:stretchColumns="0,1,2,3"
            android:layout_weight="1" >

            <ImageView
                android:id="@+id/q8Image"
                android:layout_width="10dp"
                android:layout_height="10dp"
                android:layout_gravity="center_vertical" />

            <TextView
                android:id="@+id/q8Question"
                android:layout_width="0dip"
                android:layout_height="wrap_content"
                android:layout_weight=".45"
                android:textSize="7sp"
                android:paddingLeft="2dp"
                android:paddingRight="2dp"
                android:layout_gravity="center_vertical" />

            <TextView
                android:id="@+id/q8Answer"
                android:layout_width="0dip"
                android:layout_height="wrap_content"
                android:layout_weight=".3"
                android:textSize="7sp"
                android:layout_gravity="center_vertical" />

            <TextView
                android:id="@+id/q8Verse"
                android:layout_width="0dip"
                android:layout_height="wrap_content"
                android:layout_weight=".25"
                android:textSize="7sp"
                android:layout_gravity="center_vertical" />
        </TableRow>

        <View 
            android:layout_width="fill_parent"
            android:layout_height="1dp"       
            android:background="#C2BEBF" />

        <TableRow
            android:id="@+id/row12"
            android:layout_width="0dip"
            android:layout_height="wrap_content"
            android:stretchColumns="0,1,2,3"
            android:layout_weight="1" >

            <ImageView
                android:id="@+id/q9Image"
                android:layout_width="10dp"
                android:layout_height="10dp"
                android:layout_gravity="center_vertical" />

            <TextView
                android:id="@+id/q9Question"
                android:layout_width="0dip"
                android:layout_height="wrap_content"
                android:layout_weight=".45"
                android:textSize="7sp"
                android:paddingLeft="2dp"
                android:paddingRight="2dp"
                android:layout_gravity="center_vertical" />

            <TextView
                android:id="@+id/q9Answer"
                android:layout_width="0dip"
                android:layout_height="wrap_content"
                android:layout_weight=".3"
                android:textSize="7sp"
                android:layout_gravity="center_vertical" />

            <TextView
                android:id="@+id/q9Verse"
                android:layout_width="0dip"
                android:layout_height="wrap_content"
                android:layout_weight=".25"
                android:textSize="7sp"
                android:layout_gravity="center_vertical" />
        </TableRow>

        <View 
            android:layout_width="fill_parent"
            android:layout_height="1dp"       
            android:background="#C2BEBF" />

        <TableRow
            android:id="@+id/row13"
            android:layout_width="0dip"
            android:layout_height="wrap_content"
            android:stretchColumns="0,1,2,3"
            android:layout_weight="1" >

            <ImageView
                android:id="@+id/q10Image"
                android:layout_width="10dp"
                android:layout_height="10dp"
                android:layout_gravity="center_vertical" />

            <TextView
                android:id="@+id/q10Question"
                android:layout_width="0dip"
                android:layout_height="wrap_content"
                android:layout_weight=".45"
                android:textSize="7sp"
                android:paddingLeft="2dp"
                android:paddingRight="2dp"
                android:layout_gravity="center_vertical" />

            <TextView
                android:id="@+id/q10Answer"
                android:layout_width="0dip"
                android:layout_height="wrap_content"
                android:layout_weight=".3"
                android:textSize="7sp"
                android:layout_gravity="center_vertical" />

            <TextView
                android:id="@+id/q10Verse"
                android:layout_width="0dip"
                android:layout_height="wrap_content"
                android:layout_weight=".25"
                android:textSize="7sp"
                android:layout_gravity="center_vertical" />
        </TableRow>
    </TableLayout>
    </ScrollView>

    <TableLayout
        android:layout_width="wrap_content"
        android:layout_height="0dip"
        android:layout_weight="15" >

        <TableRow
            android:id="@+id/row14"
            android:layout_width="0dip"
            android:layout_height="wrap_content"
            android:stretchColumns="0,1"
            android:layout_weight="1" >

            <Button 
                android:id="@+id/mainmenuBtn"
                android:layout_width="0dip"
                android:layout_height="wrap_content"
                android:layout_weight=".33"
                android:textSize="7sp" />

            <Button 
                android:id="@+id/highscoresBtn"
                android:layout_width="0dip"
                android:layout_height="wrap_content"
                android:layout_weight=".33"
                android:textSize="7sp" />
            <Button 
                android:id="@+id/playBtn"
                android:layout_width="0dip"
                android:layout_height="wrap_content"
                android:layout_weight=".34"
                android:textSize="7sp" />
        </TableRow>
    </TableLayout>
</LinearLayout>

最佳答案

您希望表格并排放置,还是彼此叠放?您现在将 LinearLayout 的方向设置为“垂直”,但每个表格的宽度为“0dip”。我想您希望它们并排放置,这意味着 LinearLayout 的方向应该是“水平的”,并将您的表格宽度保持为“0dip”。如果您确实希望它们彼此重叠,请将每个表格的宽度更改为“wrap_content”或“match_parent”,并将高度更改为“0dip”。

垂直示例

<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="match_parent"
        android:layout_height="0dip"
        android:layout_weight="15" >
    </TableLayout>

    <TableLayout
        android:layout_width="match_parent"
        android:layout_height="0dip"
        android:layout_weight="70" >
    </TableLayout>

    <TableLayout
        android:layout_width="match_parent"
        android:layout_height="0dip"
        android:layout_weight="15" >
    </TableLayout>

</LinearLayout>

水平示例

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:orientation="horizontal" >

    <TableLayout
        android:layout_width="0dip"
        android:layout_height="wrap_content"
        android:layout_weight="1" >
    </TableLayout>

    <TableLayout
        android:layout_width="0dip"
        android:layout_height="wrap_content"
        android:layout_weight="1" >
    </TableLayout>

    <TableLayout
        android:layout_width="0dip"
        android:layout_height="wrap_content"
        android:layout_weight="1" >
    </TableLayout>

</LinearLayout>

底部表格编辑

   <TableLayout
        android:layout_width="match_parent"
        android:layout_height="0dip"
        android:layout_weight="15" >

        <TableRow
            android:id="@+id/row14"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:stretchColumns="0,1" >

            <Button 
                android:id="@+id/mainmenuBtn"
                android:layout_width="0dip"
                android:layout_height="wrap_content"
                android:layout_weight="1"
                android:textSize="7sp" />

            <Button 
                android:id="@+id/highscoresBtn"
                android:layout_width="0dip"
                android:layout_height="wrap_content"
                android:layout_weight="1"
                android:textSize="7sp" />
            <Button 
                android:id="@+id/playBtn"
                android:layout_width="0dip"
                android:layout_height="wrap_content"
                android:layout_weight="1"
                android:textSize="7sp" />
        </TableRow>
    </TableLayout>

关于java - LinearLayout 中的多个 TableLayouts - Android,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14450052/

相关文章:

java - 我的 Java 书显示正在创建两个相同的对象,但它们未能通过 Object.equals() 调用。为什么?

android - 去掉 TabWidget 下的那一行

java - 警报对话框无法正常运行。

android - 如何在 Python 中将 Google 帐户身份验证添加到 Google Cloud Endpoints

gridview - 如何在Flutter中用SingleChildScrollView和GridView实现连续滚动

java - Java中整数字符串与字符串的比较

java - 如何在java中的二叉搜索树的根处插入一个项目?

java - 如何克服 org.springframework.dao.RecoverableDataAccessException?

reactjs - 在 react native ScrollView 中滚动到给定像素数的X,Y方向

安卓 : HorizontalScrollView Move like a Iphone