• GridView和ListView简单使用


      现在在做一个小项目,用到了基础的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             @Override
    17             public void onItemClick(AdapterView<?> adapterView, View view, int i, long l) {
    18                 TextView content = (TextView) view.findViewById(R.id.itemText);
    19 
    20             }
    21         });
  • 相关阅读:
    IOC+AOP
    基础知识
    断点续传
    监听程序
    Action、View、ActionResult、ViewResult、ContentResult
    json的使用(JObect,JsonData,JArray)
    get/post 接口调用
    常见的加密和解密
    WebUtility(提供在处理 Web 请求时用于编码和解码 URL 的方法。)
    MyBatis动态SQL和缓存
  • 原文地址:https://www.cnblogs.com/rewufu/p/4445499.html
Copyright © 2020-2023  润新知