博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Android--grideview列表,附带图标显示消息数量
阅读量:505 次
发布时间:2019-03-07

本文共 7582 字,大约阅读时间需要 25 分钟。

一、概述

GridView(网格视图)是按照行列的方式来显示内容的,一般用于显示图片,图片文字等内容,比如实现十六宫格,九宫格,四宫格等,用GridView是首选,也是最简单的。

常用属性:
Android:columnWidth:设置列的宽度。

android:gravity:设置此组件中的内容在组件中的位置。可选的值有:top、bottom、left、right、center_vertical、fill_vertical、center_horizontal、fill_horizontal、center、fill、clip_vertical可以多选,用“|”分开。

android:horizontalSpacing:两列之间的间距。

android:numColumns:设置列数。

android:stretchMode:缩放模式。

android:verticalSpacing:两行之间的间距。

二、效果图

三、Demo

item.xml

主布局中一个Grideview就可以

适配器

package adapter;import android.content.Context;import android.view.LayoutInflater;import android.view.View;import android.view.ViewGroup;import android.widget.ImageView;import android.widget.SimpleAdapter;import android.widget.TextView;import com.example.water.R;import java.util.ArrayList;import java.util.HashMap;/** * Created by Administrator on 2019/3/29 * 

* desc: */public class funcationGrideViewAdapter extends SimpleAdapter { Context context; int order_daiban_count; int img_id; int title_id; ArrayList

> meumList = new ArrayList
>(); class ViewHolder { TextView text_count,text_title; ImageView imageview; } public funcationGrideViewAdapter(Context context, ArrayList
> data, int resource, String[] from, int[] to) { super(context, data, resource, from, to); this.meumList=data; this.context=context;// TODO Auto-generated constructor stub } public View getView(final int position, View convertView, ViewGroup parent) { // TODO Auto-generated method stub // 页面 ViewHolder holder; LayoutInflater inflater = LayoutInflater.from(context); convertView = inflater.inflate( R.layout.item_funcation, null); holder = new ViewHolder(); holder.imageview=(ImageView)convertView.findViewById(R.id.ItemImage); holder.imageview.setImageResource((Integer) meumList.get(position).get("ItemImage")); holder.text_title= (TextView) convertView .findViewById(R.id.ItemText); holder.text_title.setText((CharSequence) meumList.get(position).get("ItemText")); holder.text_count = (TextView) convertView .findViewById(R.id.count); int count=0; if (meumList.get(position).containsKey("Count")){ if((Integer) meumList.get(position).get("Count")!=0){ holder.text_count.setVisibility(View.VISIBLE); holder.text_count.setText((Integer) meumList.get(position).get("Count")+""); } } return convertView; }}

import android.Manifest;import android.app.Activity;import android.content.Context;import android.content.Intent;import android.os.Bundle;import android.support.v7.widget.LinearLayoutManager;import android.support.v7.widget.RecyclerView;import android.util.Log;import android.view.KeyEvent;import android.view.View;import android.widget.AdapterView;import android.widget.GridView;import android.widget.ImageView;import android.widget.LinearLayout;import android.widget.TextView;import android.widget.Toast;import com.bumptech.glide.Glide;import com.google.gson.Gson;import com.google.gson.JsonArray;import com.google.gson.JsonElement;import com.google.gson.JsonParser;import com.lzy.okgo.OkGo;import com.lzy.okgo.cache.CacheMode;import com.lzy.okgo.callback.StringCallback;import com.lzy.okgo.model.Response;import com.scwang.smartrefresh.layout.SmartRefreshLayout;import com.scwang.smartrefresh.layout.api.RefreshLayout;import com.scwang.smartrefresh.layout.listener.OnLoadMoreListener;import com.scwang.smartrefresh.layout.listener.OnRefreshListener;import com.tbruyelle.rxpermissions2.Permission;import com.tbruyelle.rxpermissions2.RxPermissions;import com.youth.banner.Banner;import com.youth.banner.BannerConfig;import com.youth.banner.listener.OnBannerListener;import com.youth.banner.loader.ImageLoader;import org.json.JSONException;import org.json.JSONObject;import java.util.ArrayList;import java.util.HashMap;import java.util.List;import adapter.funcationGrideViewAdapter;import adapter.newsAdapter;import adapter.newsRecycleViewLisitenter;import bean.news;import butterknife.BindView;import butterknife.ButterKnife;import butterknife.OnClick;import io.reactivex.functions.Consumer;import utils.AppContext;public class MainActivity extends Activity {    private static final String TAG = MainActivity.class.getName();    private ArrayList
images; private ArrayList
imageTitle; private List
newsList = new ArrayList<>(); private ArrayList
> meumList; private newsAdapter mNewsAdapter; private funcationGrideViewAdapter mFuncationGrideViewAdapter; @BindView(R.id.banner) Banner banner; @BindView(R.id.image1) ImageView image1; @BindView(R.id.tv_title1) TextView tvTitle1; @BindView(R.id.tv_time1) TextView tvTime1; @BindView(R.id.image2) ImageView image2; @BindView(R.id.tv_title2) TextView tvTitle2; @BindView(R.id.tv_time2) TextView tvTime2; @BindView(R.id.tv_msg) ImageView tvMsg; @BindView(R.id.linearlayout_msg_navigation) LinearLayout linearlayoutMsgNavigation; @BindView(R.id.news_recyclerView) RecyclerView newsRecyclerView; @BindView(R.id.refreshLayout) SmartRefreshLayout refreshLayout; @BindView(R.id.funcationgv) GridView funcationgv; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); //绑定初始化ButterKnife ButterKnife.bind(this); //初始化 initData(); initView(); } private void initView() { //功能 mFuncationGrideViewAdapter = new funcationGrideViewAdapter(this,meumList,R.layout.item_funcation,new String[]{ "ItemImage", "ItemText" }, // 对应map的Key new int[] { R.id.ItemImage, R.id.ItemText }); funcationgv.setAdapter(mFuncationGrideViewAdapter); funcationgv.setOnItemClickListener(new AdapterView.OnItemClickListener() { public void onItemClick(AdapterView
arg0, View arg1, int arg2, long arg3) { Toast.makeText(MainActivity.this,arg1.getId()+","+arg2+""+arg3,Toast.LENGTH_SHORT).show(); } }); } private void initData() { //设置功能按钮 meumList = new ArrayList
>(); HashMap
map = new HashMap
(); map.put("ItemImage", R.mipmap.app_lccgx_ico); map.put("ItemText", "支付缴费"); map.put("Count", 3); meumList.add(map); map = new HashMap
(); map.put("ItemImage", R.mipmap.app_lccgx_ico); map.put("ItemText", "转账"); map.put("Count", 0); meumList.add(map); map = new HashMap
(); map.put("ItemImage", R.mipmap.app_lccgx_ico); map.put("ItemText", "充值"); map.put("Count", 1); meumList.add(map); map = new HashMap
(); map.put("ItemImage", R.mipmap.app_lccgx_ico); map.put("ItemText", "出行"); map.put("Count", 0); meumList.add(map); map = new HashMap
(); map.put("ItemImage", R.mipmap.app_lccgx_ico); map.put("ItemText", "收钱"); map.put("Count", 0); meumList.add(map); } @OnClick({R.id.banner, R.id.image1, R.id.tv_title1, R.id.tv_time1, R.id.image2, R.id.tv_title2, R.id.tv_time2, R.id.tv_msg, R.id.linearlayout_msg_navigation, R.id.news_recyclerView, R.id.refreshLayout}) public void onViewClicked(View view) { switch (view.getId()) { case R.id.image1: break; case R.id.tv_title1: break; case R.id.tv_time1: break; case R.id.image2: break; case R.id.tv_title2: break; case R.id.tv_time2: break; case R.id.tv_msg: break; case R.id.linearlayout_msg_navigation: break; } } @Override protected void onStop() { super.onStop(); } @Override protected void onDestroy() { super.onDestroy(); finish(); }}

 

转载地址:http://ptpjz.baihongyu.com/

你可能感兴趣的文章