0

下面是我的 Android 应用程序的 xml 布局。我正在尝试在屏幕上的 gridview 下方放置一个 webview。

任何人都可以帮助解释我需要做什么才能让它发挥作用吗?

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:id="@+id/db1_root"
    android:orientation="vertical"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent">
    <LinearLayout
        android:id="@+id/HomePage"
        android:layout_width="fill_parent"
        android:layout_height="fill_parent">
        <GridView
            android:id="@+id/Grid"
            android:layout_width="fill_parent"
            android:layout_height="fill_parent"
            android:columnWidth="90dp"
            android:numColumns="auto_fit"
            android:verticalSpacing="10dp"
            android:horizontalSpacing="10dp"
            android:stretchMode="columnWidth"
            android:gravity="center"
            android:scrollbars="vertical" />
        <WebView
            android:layout_width="fill_parent"
            android:layout_height="wrap_content"
            android:id="@+id/webView1" />
    </LinearLayout>
</LinearLayout>

谢谢

4

2 回答 2

0

我认为两个小的更改将有助于使这项工作为您服务。首先,在创建 LinearLayout 时,android:orientation需要该属性指示子项应该是水平添加还是垂直添加。由于您希望一个视图叠加在另一个视图之上,因此请添加android:orientation=vertical到 HomePage LinearLayout。其次,您的GridView 当前有一个android:layout_height. fill_parent这将导致它垂直扩展并填满整个 LinearLayout,这将阻止您的 WebView 显示。尝试将此属性更改为wrap_content.

制作两个孩子的高度wrap_content可能会导致您的应用程序中有一些空白空间。如果您需要 GridView 或 WebView 来占用视图中的所有空白空间,则可以使用该android:layout_weight属性。分配要扩展的视图以在绘制其余部分后填充所有剩余空间,如下所示android:layout_weight=1:(这里,1 代表 100% 的剩余空间)如果您想要更精细地控制您的孩子占据的父母的百分比,请考虑使用带有android:layout_weight属性的十进制值或android:weightSum在父母上与android:layout_weight每个孩子的a 结合使用. 希望这可以帮助!

于 2012-11-28T23:18:24.677 回答
0

android:layout_height="wrap_content"在网格视图中使用

在内部线性布局中设置方向属性。

android:orientation="vertical"

给 WebView 的固定高度并 android:layout_weight=""在两个孩子中设置。

尝试下面的代码并根据您的 webview 高度和网格视图高度进行更改。

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:id="@+id/db1_root"
    android:orientation="vertical"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent">
    <LinearLayout
        android:id="@+id/HomePage"
        android:layout_width="fill_parent"
        android:layout_height="fill_parent"
        android:weightSum="2"
        android:orientation="vertical">
        <GridView
            android:id="@+id/Grid"
            android:layout_width="fill_parent"
            android:layout_height="wrap_content"
            android:columnWidth="90dp"
            android:numColumns="auto_fit"
            android:verticalSpacing="10dp"
            android:horizontalSpacing="10dp"
            android:stretchMode="columnWidth"
            android:gravity="center"
           android:layout_weight="1"
            android:scrollbars="vertical" />
        <WebView
            android:layout_width="fill_parent"
            android:layout_height="200dp"
            android:layout_weight="1"
            android:id="@+id/webView1"
            />
    </LinearLayout>
</LinearLayout>

WebView 200dp在上面的代码中,我根据您的要求给出了变化的高度。

于 2012-11-29T05:56:13.257 回答