4

我正在为 android 应用程序设计布局。这是布局的骨架。 在此处输入图像描述

我尝试的是使用表格布局,因为 GUI 可以分解为表格行和列。基本上,我想将布局分成两列,如您所见。这是xml代码

<?xml version="1.0" encoding="utf-8"?>
<TableLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:id="@+id/tableLayout1"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent" >

    <!-- 2 columns -->
    <TableRow
        android:id="@+id/tableRow1"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:padding="5dip" >

        <View
            android:id="@+id/view1"
            android:layout_weight="7"
            android:layout_width="0dp"
            android:layout_height="wrap_content">
            <TextView
                android:id="@+id/textView1"
                android:text="Column 1"
                android:textAppearance="?android:attr/textAppearanceLarge" />
        </View>

        <View
            android:id="@+id/view2"
            android:layout_weight="3"
            android:layout_width="0dp"
            android:layout_height="wrap_content" >
            <Button
                android:id="@+id/button1"
                android:text="Column 2" />
        </View>

    </TableRow>


</TableLayout>

我在 GUI 中收到以下错误

Exception raised during rendering: android.view.View cannot be cast to android.view.ViewGroup

我认为这说明我们不能对意见进行分组。如果不可能,如何处理。我来自网络背景。我以为我可以像在 html 中一样将视图用作 div。

4

1 回答 1

8

您可以对视图进行分组,但您需要使用视图组而不是视图。

ViewGroup 的示例是 LinearLayout(用于水平或垂直显示子视图)、RelativeLayout(用于使用相对位置显示子视图)、FrameLayout、TableLayout 等。使用适合您需要的任何 ViewGroup。

要使某些东西正常工作,请将 XML 中的两个视图更改为 FrameLayouts。并且还要给出 Button 和 TextView 布局参数(例如android:layout_width="wrap_content",高度相同) - 否则当你运行它时你会得到另一个错误。

于 2013-02-16T06:52:43.257 回答