GridView和ListView简单使用

来源:互联网 发布:hello聊天软件下载 编辑:程序博客网 时间:2024/06/05 08:33

  现在在做一个小项目,用到了基础的GridView和ListView。在此做一个记录。项目的主界面是用DrawerLayout实现侧滑,顶部栏使用ToolBar,SlidingTabLayout和ViewPager实现左右切换页卡,多个Fragment通过Adapter适配到ViewPager上。其中两个页卡就是用的GridView和ListView。其他控件会另起新的随笔来写。

  两个Tab的效果如下

    

  比较简单直接上代码。

  第一个Tab,布局就是一个GridView,里面的item是ImageView加TextView

<?xml version="1.0" encoding="utf-8"?><GridView xmlns:android="http://schemas.android.com/apk/res/android"    android:layout_width="match_parent"    android:layout_height="match_parent"    android:id="@+id/gridview1"    android:numColumns="auto_fit"    android:columnWidth="90dp"    android:stretchMode="columnWidth"    android:gravity="center"    android:background="@color/background_material_light"    ></GridView>
<?xml version="1.0" encoding="utf-8"?><RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"    android:layout_width="90dp"    android:layout_height="wrap_content"    android:paddingRight="1dp"    >        <ImageView        android:id="@+id/itemImage"        android:layout_width="90dp"        android:layout_height="90dp"        android:scaleType="centerCrop"        android:layout_centerHorizontal="true"/>    <TextView        android:id="@+id/itemText"        android:layout_width="wrap_content"        android:layout_height="wrap_content"        android:layout_below="@+id/itemImage"        android:layout_centerHorizontal="true"        android:text="textview01"        /></RelativeLayout>

  GridView里有几个属性:

  android:numColumns="auto_fit"          //列数自动(一行显示几个)    android:columnWidth="90dp"        //每列宽度    android:stretchMode="columnWidth"    //缩放与列宽同步

  第二个Tab,ListView布局

<?xml version="1.0" encoding="utf-8"?><LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"    android:orientation="vertical" android:layout_width="match_parent"    android:layout_height="match_parent">    <ListView        android:id="@+id/second_listView2"        android:layout_width="match_parent"        android:layout_height="match_parent">    </ListView></LinearLayout>
<?xml version="1.0" encoding="utf-8"?><RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"    android:orientation="vertical" android:layout_width="match_parent"    android:layout_height="match_parent"    android:padding="3dip">    <ImageView        android:id="@+id/second_itemImage"        android:layout_width="30dp"        android:layout_height="30dp"        />    <TextView        android:id="@+id/second_itemText"        android:layout_width="wrap_content"        android:layout_height="wrap_content"        android:layout_centerVertical="true"        android:layout_toRightOf="@+id/second_itemImage"        android:layout_marginLeft="10dip"        /></RelativeLayout>

 

  往GridView里放数据,用了SimpleAdapter。ListView里放数据也是同样的代码

 1      GridView gridView = (GridView) view.findViewById(R.id.gridview1); 2  3         ArrayList<HashMap<String, Object>> listImageItem = new ArrayList<>(); 4         for (int i = 0; i <100; i++) { 5             HashMap<String, Object> map = new HashMap<>(); 6             map.put("ItemImage", R.mipmap.ic_launcher); 7             map.put("ItemText", "NO." + i); 8             listImageItem.add(map); 9         }10 11         SimpleAdapter adapter = new SimpleAdapter(getActivity(), listImageItem,12                 R.layout.item_picture, new String[]{"ItemImage","ItemText"},13                 new int[]{R.id.itemImage, R.id.itemText});14         gridView.setAdapter(adapter);15         gridView.setOnItemClickListener(new AdapterView.OnItemClickListener() {16             @Override17             public void onItemClick(AdapterView<?> adapterView, View view, int i, long l) {18                 TextView content = (TextView) view.findViewById(R.id.itemText);19 20             }21         });

 

0 0
原创粉丝点击