带有列和行Android的ListView

时间:2014-09-11 13:33:47

标签: android listview gridview

我正在开发一个Android应用程序,在一个屏幕布局中我需要有一个带有标题的gridview,但是gridview没有任何标题。所以我在Instagram配置文件中看到他们使用listview就像gridview,但我找不到任何关于它的东西,所以如果有人知道另一种方法来做这种事情,我会很感激。

我想要这样的事情: enter image description here

提前致谢

2 个答案:

答案 0 :(得分:1)

请尝试以下代码:

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    tools:context=".MainActivity" >

   <GridView
       android:id="@+id/gridViewCustom"
       android:layout_width="fill_parent"
       android:layout_height="wrap_content"
       android:layout_below="@+id/textView1"
       android:layout_alignParentRight="true"
       android:layout_margin="4dp"
       android:columnWidth="80dp"
       android:gravity="center"
       android:numColumns="auto_fit"
       android:stretchMode="columnWidth" >
   </GridView>

   <TextView
       android:id="@+id/textView1"
       android:layout_width="wrap_content"
       android:layout_height="50dp"
       android:layout_alignParentLeft="true"
       android:layout_alignParentRight="true"
       android:layout_alignParentTop="true"
       android:text="THIS IS THE HEADER"
       android:textAppearance="?android:attr/textAppearanceLarge" />

</RelativeLayout>

在你的活动中:

@Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.grid);

        final TextView txt = (TextView) findViewById(R.id.textView1);
        txt.setVisibility(View.VISIBLE);

        GridView grid = (GridView) findViewById(R.id.gridViewCustom);
        grid.setOnScrollListener(new OnScrollListener() {

            @Override
            public void onScrollStateChanged(AbsListView view, int scrollState) {
                // TODO Auto-generated method stub

            }

            @Override
            public void onScroll(AbsListView view, int firstVisibleItem,
                    int visibleItemCount, int totalItemCount) {
                if(firstVisibleItem == 0)//or it is maybe 1 I'm not sure. It means you are at the top of the gridview
                    txt.setVisibility(View.VISIBLE);
                else
                    txt.setVisibility(View.GONE);
            }
        });
    }

答案 1 :(得分:0)

我实际上找到了一个解决方案,它是一个带有多个项目的适配器的列表,因此我们可以创建一个带有列表的“gridview”。

希望将来帮助某人。

在下面的链接中,您可以从git下载 https://github.com/umano/MultiItemRowListAdapter