Android开发-GridView

 

1.GridView

1.1 GridView效果图

Android开发-GridView_第1张图片

1.2 GridView概念

         GridView(网格视图)是按照行列的方式来显示内容的,主要是凸显那种网格式布局,既有横向也有纵向的数据显示。一般用于显示图片,图片等内容,比如实现九宫格图,用GridView是首选,也是最简单的。

1.3 GridView的使用场景

          GridView是android开发中常用的一个控件,它通常和以下几块内容结合使用:

GridView的九宫格效果
GridView的获取系统应用
GridView动态加载数据
GridView的上拉加载和下拉刷新

 

2.GridView原理

2.1 属性方法

          属性方法如下所示:

android:columnWIdth 每列的宽度
android:numColumns="auto_fit" 列数根据屏幕大小自动适应
android:verticalSpacing 垂直方向的间距(行间距)
android:horizontalSpacing 水平方向间距(列间距)
android:stretchMode="columnWidth|spacingWidth" 表示缩放模式(与列宽大小同步和行宽大小同步)
android:cacheColorHint="#00000000" 去除拖动时默认的黑色背景
android:listSelector="#00000000" 去除选中时的黄色底色
android:scrollbars="none" 隐藏GridView的滚动条
android:fadeScrollEnabled="true" 设置为true就可以实现滚动条的自动隐藏和显示
android:fastScrollEnabled="true" GridView出现快速滚动的按钮(至少滚动4页才会显示)

2.2 创建GridView

          item的布局:



    

          activity_main.xml:



    

        MainActivity.java:

public class MainActivity extends AppCompatActivity {
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        GridView gridView = findViewById(R.id.gridview);
        List list = new ArrayList<>();
        for(int i = 0;i<10;i++){
            list.add("文字1");
        }
        gridView.setAdapter(new GridViewAdapter(list,MainActivity.this));
    }
    class GridViewAdapter extends BaseAdapter{
        List mList;
        Context mContext;
        public GridViewAdapter(List list, Context context){
            this.mList = list;
            this.mContext = context;
        }
        @Override
        public int getCount() {
            return mList.size();
        }
        @Override
        public Object getItem(int position) {
            return mList.get(position);
        }
        @Override
        public long getItemId(int position) {
            return position;
        }
        @Override
        public View getView(int position, View convertView, ViewGroup parent) {
            LayoutInflater layoutInflater = (LayoutInflater) mContext.getSystemService((Context.LAYOUT_INFLATER_SERVICE));
            convertView = layoutInflater.inflate(R.layout.item_gridview,null);
            TextView textView = convertView.findViewById(R.id.textview_item);
            textView.setText(mList.get(position));
            return convertView;
        }
    }
}

       效果:

Android开发-GridView_第2张图片

        注意:可以看出,如果item在列数上超出,将会自动在下面新的一行进行排列。

3.Android中Glide框架

3.1 Glide框架简介

          Android的Glide是一个开源的图片加载和缓存处理的第三方框架,和Android的Picasso库类似。Glide框架使得自身内部已经实现了缓存策略,使得开发者摆脱Android图片加载的琐碎事务,专注于逻辑代码。

3.2 Glide框架的使用

        使用Glide,首先需要下载Android Glide的库。Glide在github上的项目主页:https://github.com/bumptech/glide。实际的项目使用只需要到Glide的releases页面把jar包下载后导入到本地的libs里面即可直接使用。

3.2 Glide框架加载图片的代码

        实例代码如下所示:

Glide.with(上下文).load(图片地址).centerCrop()
.placeholder(R.mimap.ic_launcher).crossFase().into(ImageView);

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

你可能感兴趣的:(Android)