将include标记与已存在的GridView一起使用

时间:2013-01-19 08:21:10

标签: android android-layout user-interface

我在xml中创建了一个操作栏,用于所有活动。我使用include标签。
我的一项活动只​​有一个GridView标记。你可以在下面看到它的来源:

<?xml version="1.0" encoding="utf-8"?>
<GridView xmlns:android="http://schemas.android.com/apk/res/android"
    android:id="@+id/gv_level"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:layout_weight="1"
    android:background="@drawable/background_gradient"
    android:columnWidth="100dp"
    android:gravity="center"
    android:numColumns="auto_fit"
    android:stretchMode="columnWidth" >
</GridView>  

它没有任何问题,但是当我添加include标签或任何其他标签时(类似于以下来源)

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent" >

<include
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:layout_weight="0"
    layout="@layout/action_bar" />

<GridView
    android:id="@+id/gv_level"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:layout_weight="1"
    android:background="@drawable/background_gradient"
    android:columnWidth="100dp"
    android:gravity="center"
    android:numColumns="auto_fit"
    android:stretchMode="columnWidth" >
</GridView>

它不会给我一个错误,但在活动出现时会隐藏GridView。 这个问题有解决方案吗?

1 个答案:

答案 0 :(得分:1)

  

但是当活动出现时,gridview会被隐藏。它有蚂蚁解决方案   为了它?感谢。

您可能希望将LinearLayout方向设置为垂直,这样您所包含的布局就不会将GridView推到右侧的屏幕或您可以使用wrap_content包含布局的宽度。使用方向更改:

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent" 
    android:orientation="vertical" >

<include
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:layout_weight="0"
    layout="@layout/action_bar" />
// ... rest of the layout