欢迎大家来到IT世界,在知识的湖畔探索吧!
此文,仅做为个人学习Android,记录成长以及方便复习!
首先是设置UI界面
1.activity_main.xml
其中三个为常用参数
android:numColumns=”3″ //设置显示列数,设置为auto_fit则是自适应
android:horizontalSpacing =”10dp” //设置两列之间的间距
android:verticalSpacing =”10dp” //设置两行之间的间距
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
>
<GridView
android:id="@+id/gridView"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_marginTop="20dp"
android:numColumns="3"
android:horizontalSpacing ="10dp"
android:verticalSpacing ="10dp"/>
</RelativeLayout>
欢迎大家来到IT世界,在知识的湖畔探索吧!
因为需要使用到SimpleAdapter 所以创建一个布局文件
items.xml
欢迎大家来到IT世界,在知识的湖畔探索吧!<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical"
android:gravity="center">
<ImageView
android:id="@+id/img"
android:layout_width="60dp"
android:layout_height="60dp"
android:background="@mipmap/ic_launcher_round"
/>
<TextView
android:id="@+id/tv1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="占位置"/>
</LinearLayout>
接下来是Activity文件
MainAcitivity.java
package com.rui.gridviewdome;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.View;
import android.widget.AdapterView;
import android.widget.GridView;
import android.widget.SimpleAdapter;
import android.widget.Toast;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
//实现OnItemClickListener监听接口
public class MainActivity extends AppCompatActivity implements AdapterView.OnItemClickListener{
private GridView gridView;//创建GridView
SimpleAdapter sladapter;//创建SimplAdapter
List<Map<String,Object>> list = new ArrayList<>();//创建List集合存放数据源
//定义图片集合
int [] icon = {R.drawable.img1,R.drawable.img2,R.drawable.img3,R.drawable.img4,R.drawable.img5,R.drawable.img6,R.drawable.img7,R.drawable.img8};
//定义对应图片集合的文本
String [] iconname={"葫芦小金刚","索大","钢铁怪","皮卡丘","路人甲","蝙蝠侠","uc小松鼠","龙猫"};
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
//实例化GirdView
gridView = findViewById(R.id.gridView);
//创建适配器
sladapter = new SimpleAdapter(this,getData(),R.layout.items,new String[]{"img","tv1"},new int[]{R.id.img,R.id.tv1});
//GridView 加载适配器
gridView.setAdapter(sladapter);
//GridView 添加监听
gridView.setOnItemClickListener(this);
}
//创建数据源方法
public List<Map<String,Object>> getData(){
//循环的次数,可以用icon数组的长度也可以用iconname的长度
for(int i=0;i<icon.length;i++){
Map<String,Object> map = new HashMap<>();//定义Map集合临时存放
map.put("img",icon[i]);
map.put("tv1",iconname[i]);
list.add(map);
}
return list;
}
//GiidView监听事件方法
@Override
public void onItemClick(AdapterView<?> adapterView, View view, int i, long l) {
Toast.makeText(MainActivity.this,"你喜欢的是:"+iconname[i],Toast.LENGTH_SHORT).show();
}
}
运行效果如下图
点击了索隆之后!
免责声明:本站所有文章内容,图片,视频等均是来源于用户投稿和互联网及文摘转载整编而成,不代表本站观点,不承担相关法律责任。其著作权各归其原作者或其出版社所有。如发现本站有涉嫌抄袭侵权/违法违规的内容,侵犯到您的权益,请在线联系站长,一经查实,本站将立刻删除。 本文来自网络,若有侵权,请联系删除,如若转载,请注明出处:https://itzsg.com/17945.html