android的布局思路

时间:2010-08-19 20:39:21

标签: android gridview tablelayout

我一直在玩弄很多不同的布局结构,似乎找不到最适合我的解决方案。

基本上我需要3行,每行占用设备的33%(高度)(在横向模式下)。我认为这将是完美的,但我似乎无法找到一种方法来指定一个高度。我有可能在某个地方忽略了一处房产,但我在文档中找不到它。我也认为这是一个选择,但在玩了一下后,我不确定这是最好的解决方案。

可以完成我需要的吗?我将在我的行中指定其他布局(主要是RelativeLayout),但我只需要核心结构为3行,每行高度为33%。

编辑 - 添加代码:

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:id="@+id/rellay"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:background="@drawable/table_background">
    <LinearLayout
        android:layout_weight="1"
        android:layout_width="fill_parent"
        android:layout_height="fill_parent">
        <Button
            android:id="@+id/connect"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="Connect To Server" />
    </LinearLayout>
    <LinearLayout
        android:layout_weight="1"
        android:layout_width="fill_parent"
        android:layout_height="fill_parent">
        <TextView 
            android:id="@+id/label"
            android:layout_width="fill_parent" 
            android:layout_height="wrap_content" 
            android:scrollbars="vertical"
            android:maxLines="6"
            android:textColor="#FFFFFF" />
    </LinearLayout>
    <LinearLayout
        android:layout_weight="1"
        android:layout_width="fill_parent"
        android:layout_height="fill_parent">
        <TableLayout
            android:layout_width="fill_parent"
            android:layout_height="fill_parent"
            android:stretchColumns="1">
            <TableRow>
                <RelativeLayout
                    android:id="@+id/cardssection"
                    android:layout_column="1" />
                <Button
                    android:id="@+id/submitcards"
                    android:gravity="right"
                    android:maxWidth="10px"
                    android:text="Submit Cards"
                    android:layout_below="@id/label" />
            </TableRow>
        </TableLayout>
    </LinearLayout>     
</LinearLayout>

1 个答案:

答案 0 :(得分:1)

看看How to split the screen with two equal LinearLayouts?。您只需要在解决方案中再添加一行。注意android:orientation =“vertical”位于顶层的LinearLayout。