• Android学习——day17


    GridView

    1.常用属性

    2.Adapter接口

    3.Demo演示

     今天观看了GridView的相关视频,并且根据案例,进行了代码的编写和实例

    新建GridViewActivity.java继承AppCompatActivity.java: 

    复制代码
    package com.example.revrse.gridview;
    
    import android.os.Bundle;
    import android.os.PersistableBundle;
    import android.widget.GridView;
    
    import androidx.annotation.Nullable;
    import androidx.appcompat.app.AppCompatActivity;
    
    import com.example.revrse.R;
    
    public class GridViewActivity extends AppCompatActivity {
    
        private GridView mGv;
        @Override
        protected void onCreate(@Nullable Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            setContentView(R.layout.activity_gridview);
    
            mGv=(GridView)findViewById(R.id.gv);
        }
    }
    复制代码
     

    新建MyGrideViewActivity.java继承BaseAdapter:

    复制代码
    package com.example.revrse.gridview;
    
    import android.content.Context;
    import android.view.LayoutInflater;
    import android.view.View;
    import android.view.ViewGroup;
    import android.widget.BaseAdapter;
    import android.widget.ImageView;
    import android.widget.TextView;
    
    import com.example.revrse.R;
    
    public class MyGridViewActivity extends BaseAdapter {
    
        private Context mContext;
        private LayoutInflater mLayoutInflater;
        public MyGridViewActivity(Context context){
            this.mContext=context;
            mLayoutInflater =LayoutInflater.from(context);
        }
        @Override
        public int getCount() {
            return 10;
        }
    
        @Override
        public Object getItem(int position) {
            return null;
        }
    
        @Override
        public long getItemId(int position) {
            return 0;
        }
    
        static class ViewHolder{
            public ImageView imageView;
            public TextView textView;
        }
        @Override
        public View getView(int position, View convertView, ViewGroup parent) {
            ViewHolder holder=null;
            if(convertView==null) {
                convertView = mLayoutInflater.inflate(R.layout.activity_gridview_item,null);
                holder=new ViewHolder();
                holder.imageView=convertView.findViewById(R.id.iv_grid);
                holder.textView=convertView.findViewById(R.id.tv_title);
                convertView.setTag(holder);
            }
            else{
                holder=(ViewHolder)convertView.getTag();
            }
            holder.textView.setText("加油");
            return convertView;
        }
    }
    复制代码

    activity_gridview.xml:

    复制代码
    <?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"
        android:padding="15dp">
    
        <GridView
            android:id="@+id/gv"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:numColumns="3"
            android:horizontalSpacing="10dp"
            android:verticalSpacing="10dp"/>
    
    </LinearLayout>
    复制代码

    activity_gridview_item.xml:

    复制代码
    <?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"
        android:gravity="center_horizontal">
    
        <ImageView
            android:id="@+id/iv_grid"
            android:layout_width="match_parent"
            android:layout_height="100dp"
            android:scaleType="fitCenter"
            android:background="#899000"/>
    
        <TextView
            android:id="@+id/tv_title"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:layout_marginTop="10dp"
            android:text="Come on!"
            android:gravity="center"
            android:textColor="#89178619"/>
    
    </LinearLayout>
    复制代码

    学习这方面的代码时,其中知道了Glide的相关知识,用Glide加载网络图片,根据网上查阅资料得知,有的android不支持使用Glide。

  • 相关阅读:
    【实战Java高并发程序设计 3】带有时间戳的对象引用:AtomicStampedReference
    【实战Java高并发程序设计 2】无锁的对象引用:AtomicReference
    access 数据库创建表SQL语法
    如何提高储存卡的读写速度
    SQL 删除重复记录,并保留其中一条
    arcgis for android100.x 禁止地图旋转
    Android中刷新Invalidate和postInvalidate的区别
    Android Studio Gradle配置工具开发
    oracle数据库被注入恶意攻击程序导致tab$被删除恢复方案
    使用Oracle BBED修改Oracle11g数据库实例名称
  • 原文地址:https://www.cnblogs.com/znjy/p/14892027.html
Copyright © 2020-2023  润新知