android.widget.gridview widget是哪个jar包

专注音视频应用开发
Android中GridView使用
GridView(网格视图)是按照行列的方式来显示内容的,一般用于显示图片,图片等内容,比如实现九宫格图,用GridView是首选,也是最简单的。主要用于设置Adapter。
GridView常用的XML属性:
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
两行之间的间距。
下面有三个例子,第一个是只显示图片的,第二个是显示图片文字的(这里的图片是Android系统自带的图片),第三个是显示自定义的图片文字。前面两个例子的实现都不是很难,第三个例子的实现有些复杂,学习GridView的时候,就想着能不能自定义自己喜欢的图片加上文字,在网上找些资料,一般都是第二个例子的形式的,最后在视频学习上找到了能实现自定义自己的图片的例子。自己就照着例子去学习,修改成了第三个例子。
第一个例子:
MainActivity.java
package com.android.gridview.
import android.app.A
import android.content.C
import android.os.B
import android.view.V
import android.view.ViewG
import android.widget.AdapterV
import android.widget.AdapterView.OnItemClickL
import android.widget.BaseA
import android.widget.GridV
import android.widget.ImageV
import android.widget.T
public class MainActivity extends Activity {
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
GridView gv = (GridView)findViewById(R.id.GridView1);
//为GridView设置适配器
gv.setAdapter(new MyAdapter(this));
//注册监听事件
gv.setOnItemClickListener(new OnItemClickListener()
public void onItemClick(AdapterView&?& parent, View v, int position, long id)
Toast.makeText(MainActivity.this, "pic" + position, Toast.LENGTH_SHORT).show();
//自定义适配器
class MyAdapter extends BaseAdapter{
//上下文对象
//图片数组
private Integer[] imgs = {
R.drawable.pic0, R.drawable.pic1, R.drawable.pic2,
R.drawable.pic3, R.drawable.pic4, R.drawable.pic5,
R.drawable.pic6, R.drawable.pic7, R.drawable.pic8,
R.drawable.pic0, R.drawable.pic1, R.drawable.pic2,
R.drawable.pic3, R.drawable.pic4, R.drawable.pic5,
R.drawable.pic6, R.drawable.pic7, R.drawable.pic8,
MyAdapter(Context context){
this.context =
public int getCount() {
return imgs.
public Object getItem(int item) {
public long getItemId(int id) {
//创建View方法
public View getView(int position, View convertView, ViewGroup parent) {
ImageView imageV
if (convertView == null) {
imageView = new ImageView(context);
imageView.setLayoutParams(new GridView.LayoutParams(75, 75));//设置ImageView对象布局
imageView.setAdjustViewBounds(false);//设置边界对齐
imageView.setScaleType(ImageView.ScaleType.CENTER_CROP);//设置刻度的类型
imageView.setPadding(8, 8, 8, 8);//设置间距
imageView = (ImageView) convertV
imageView.setImageResource(imgs[position]);//为ImageView设置图片资源
return imageV
&?xml version="1.0" encoding="utf-8"?&
&LinearLayout xmlns:android=""
android:orientation="vertical"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:id="@+id/GridView1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:columnWidth="90dp"
android:numColumns="3"
android:verticalSpacing="10dp"
android:horizontalSpacing="10dp"
android:stretchMode="columnWidth"
android:gravity="center"
&/LinearLayout&
第二个例子:
MainActivity.java
package com.android.gridview2.
import java.util.ArrayL
import java.util.HashM
import java.util.L
import java.util.M
import android.app.A
import android.os.B
import android.widget.GridV
import android.widget.SimpleA
public class MainActivity extends Activity {
private GridV
protected void onCreate(Bundle savedInstanceState) {
// TODO Auto-generated method stub
super.onCreate(savedInstanceState);
setContentView(R.layout.gridview);
//准备要添加的数据条目
List&Map&String, Object&& items = new ArrayList&Map&String,Object&&();
for (int i = 0; i & 9; i++) {
Map&String, Object& item = new HashMap&String, Object&();
item.put("imageItem", R.drawable.icon);//添加图像资源的ID
item.put("textItem", "icon" + i);//按序号添加ItemText
items.add(item);
//实例化一个适配器
SimpleAdapter adapter = new SimpleAdapter(this,
R.layout.grid_item,
new String[]{"imageItem", "textItem"},
new int[]{R.id.image_item, R.id.text_item});
//获得GridView实例
gv = (GridView)findViewById(R.id.mygridview);
//为GridView设置适配器
gv.setAdapter(adapter);
gridview.xml
&?xml version="1.0" encoding="utf-8"?&
&LinearLayout xmlns:android=""
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/mygridview"
android:numColumns="3"
android:gravity="center_horizontal"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:stretchMode="columnWidth"
&/LinearLayout&
grid_item.xml
&?xml version="1.0" encoding="utf-8"?&
&RelativeLayout xmlns:android=""
android:id="@+id/RelativeLayout1"
android:layout_width="wrap_content"
android:layout_height="fill_parent"
android:paddingBottom="6dip"
&ImageView
android:id="@+id/image_item"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_centerHorizontal="true"
android:id="@+id/text_item"
android:layout_below="@+id/image_item"
android:layout_height="wrap_content"
android:layout_width="wrap_content"
android:layout_centerHorizontal="true"
&/RelativeLayout&
第三个例子:
MainActivity.java
package com.android.gridview3;
import java.util.ArrayL
import java.util.L
import android.app.A
import android.content.C
import android.os.B
import android.view.LayoutI
import android.view.V
import android.view.ViewG
import android.widget.AdapterV
import android.widget.BaseA
import android.widget.GridV
import android.widget.ImageV
import android.widget.TextV
import android.widget.T
import android.widget.AdapterView.OnItemClickL
public class MainActivity extends Activity
private GridView gridV
//图片的文字标题
private String[] titles = new String[]
{ "pic1", "pic2", "pic3", "pic4", "pic5", "pic6", "pic7", "pic8", "pic9"};
//图片ID数组
private int[] images = new int[]{
R.drawable.pic1, R.drawable.pic2, R.drawable.pic3,
R.drawable.pic4, R.drawable.pic5, R.drawable.pic6,
R.drawable.pic7, R.drawable.pic8,R.drawable.pic9
public void onCreate(Bundle savedInstanceState){
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
gridView = (GridView) findViewById(R.id.gridview);
PictureAdapter adapter = new PictureAdapter(titles, images, this);
gridView.setAdapter(adapter);
gridView.setOnItemClickListener(new OnItemClickListener()
public void onItemClick(AdapterView&?& parent, View v, int position, long id)
Toast.makeText(MainActivity.this, "pic" + (position+1), Toast.LENGTH_SHORT).show();
//自定义适配器
class PictureAdapter extends BaseAdapter{
private LayoutI
private List&Picture&
public PictureAdapter(String[] titles, int[] images, Context context)
pictures = new ArrayList&Picture&();
inflater = LayoutInflater.from(context);
for (int i = 0; i & images. i++)
Picture picture = new Picture(titles[i], images[i]);
pictures.add(picture);
public int getCount()
if (null != pictures)
return pictures.size();
public Object getItem(int position)
return pictures.get(position);
public long getItemId(int position)
public View getView(int position, View convertView, ViewGroup parent)
ViewHolder viewH
if (convertView == null)
convertView = inflater.inflate(R.layout.picture_item, null);
viewHolder = new ViewHolder();
viewHolder.title = (TextView) convertView.findViewById(R.id.title);
viewHolder.image = (ImageView) convertView.findViewById(R.id.image);
convertView.setTag(viewHolder);
viewHolder = (ViewHolder) convertView.getTag();
viewHolder.title.setText(pictures.get(position).getTitle());
viewHolder.image.setImageResource(pictures.get(position).getImageId());
return convertV
class ViewHolder
public TextV
public ImageV
class Picture
private int imageId;
public Picture()
public Picture(String title, int imageId)
this.title =
this.imageId = imageId;
public String getTitle()
public void setTitle(String title)
this.title =
public int getImageId()
return imageId;
public void setImageId(int imageId)
this.imageId = imageId;
&?xml version="1.0" encoding="utf-8"?&
&GridView xmlns:android=""
android:id="@+id/gridview"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:columnWidth="90dp"
android:numColumns="auto_fit"
android:verticalSpacing="10dp"
android:horizontalSpacing="10dp"
android:stretchMode="columnWidth"
android:gravity="center"
picture_item.xml
&?xml version="1.0" encoding="utf-8"?&
&LinearLayout
xmlns:android=""
android:id="@+id/root"
android:orientation="vertical"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="5dp"
&ImageView
android:id="@+id/image"
android:layout_width="100dp"
android:layout_height="150dp"
android:layout_gravity="center"
android:scaleType="fitXY"
android:padding="4dp"
android:id="@+id/title"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:gravity="center_horizontal"
&/LinearLayout&
本文出自 “IT的点点滴滴” 博客
没有更多推荐了,
加入CSDN,享受更精准的内容推荐,与500万程序员共同成长!Android系列教程之GridView组件的使用
GridView是一个网络布局的视图,他能让你的元素显示在一个个的格子里。我们的桌面就是一个GridView。。
1、新建一个gridview工程,activity_main.xml的代码如下:
&?xml version="1.0" encoding="utf-8"?&
xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/gridview"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:columnWidth="90dp"
android:numColumns="auto_fit"
android:horizontalSpacing="10dp"
android:verticalSpacing="10dp"
android:stretchMode="columnWidth"
android:gravity="center"&
&/GridView&很简单,就是一个GridView。设置列宽为90dp,这样当我们的numColumns设置为auto_fit时,Android就会自动计算我们手机屏幕的大小以决定每一行展示几个元素。这是很方便。android:horizontalSpacing定义列之间的间隔,android:verticalSpacing定义行之间的间隔。android:stretchMode设置为columnWidth是意味着根据列宽自动缩放。2、修改MainActivity.java代码如下:
package com.example.
import android.app.A
import android.content.C
import android.os.B
import android.view.V
import android.view.ViewG
import android.widget.AdapterV
import android.widget.AdapterView.OnItemClickL
import android.widget.BaseA
import android.widget.GridV
import android.widget.ImageV
import android.widget.T
public class MainActivity extends Activity {
//展示图片
private Integer[] mThumbIds = {
R.drawable.a,R.drawable.b,
R.drawable.c,R.drawable.d,
R.drawable.e,R.drawable.ic_launcher,
R.drawable.music,R.drawable.video,
R.drawable.photo
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
GridView gridView = (GridView) findViewById(R.id.gridview);
gridView.setAdapter(new ImageAdapter(this));
//单击GridView元素的响应
gridView.setOnItemClickListener(new OnItemClickListener() {
public void onItemClick(AdapterView&?& parent, View view, int position,
long id) {
//弹出单击的GridView元素的位置
Toast.makeText(MainActivity.this, mThumbIds[position], Toast.LENGTH_LONG).show();
private class ImageAdapter extends BaseAdapter{
private Context mC
public ImageAdapter(Context context) {
this.mContext =
public int getCount() {
return mThumbIds.
public Object getItem(int position) {
return mThumbIds[position];
public long getItemId(int arg0) {
// TODO 自动生成的方法存根
public View getView(int position, View convertView, ViewGroup parent) {
//定义一个ImageView,显示在GridView里
ImageView imageV
if(convertView==null){
imageView = new ImageView(mContext);
imageView.setLayoutParams(new GridView.LayoutParams(85,85));
imageView.setScaleType(ImageView.ScaleType.CENTER_CROP);
imageView.setPadding(8, 8, 8, 8);
imageView = (ImageView) convertV
imageView.setImageResource(mThumbIds[position]);
return imageV
这里我们也是采用的自定义Adapter,展示了一些图片,然后点击一个图片的时候会显示这个图片所在的位置。
3、运行程序,效果图如下:
没有更多推荐了,
加入CSDN,享受更精准的内容推荐,与500万程序员共同成长!Android中GridView的使用方法
布局文件activity_main.xml
gridview_item.xml
这个是一个item的单元格样式的,有图片和文字
MainActivity.java
import java.util.ArrayL
import java.util.HashM
import java.util.L
import java.util.M
import android.app.A
import android.os.B
import android.widget.GridV
public class MainActivity extends Activity {
private GridView gridV
private GridViewA
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
// 设置适配器的图片资源
int[] imageId = new int[] { R.drawable.chat_tool_camera,
R.drawable.chat_tool_location, R.drawable.chat_tool_paint,
R.drawable.chat_tool_video, R.drawable.chat_tool_voice,
R.drawable.chat_tool_camera, R.drawable.chat_tool_location,
R.drawable.chat_tool_paint, R.drawable.chat_tool_video,
R.drawable.chat_tool_voice, R.drawable.chat_tool_camera,
R.drawable.chat_tool_location, R.drawable.chat_tool_paint,
R.drawable.chat_tool_video, R.drawable.chat_tool_voice,
R.drawable.chat_tool_camera, R.drawable.chat_tool_location,
R.drawable.chat_tool_paint, R.drawable.chat_tool_video,
R.drawable.chat_tool_voice };
// 设置标题
String[] title = new String[] { &相机&, &定位&, &画笔&, &视频&, &声音&, &相机&,
&定位&, &画笔&, &视频&, &声音&, &相机&, &定位&, &画笔&, &视频&, &声音&, &相机&,
&定位&, &画笔&, &视频&, &声音& };
List<map& listitem = new ArrayList<map&();
// 将上述资源转化为list集合
for (int i = 0; i & title. i++) {
Map map = new HashMap();
map.put(&image&, imageId[i]);
map.put(&title&, title[i]);
listitem.add(map);
adapter = new GridViewAdapter(MainActivity.this, listitem);
gridView = (GridView) this.findViewById(R.id.gridView);
gridView.setAdapter(adapter);
</map</map
GridViewAdapter.java
这个是适配器
import java.util.L
import java.util.M
import android.content.C
import android.view.LayoutI
import android.view.V
import android.view.ViewG
import android.widget.BaseA
import android.widget.ImageV
import android.widget.TextV
public class GridViewAdapter extends BaseAdapter {
private List<map&
public GridViewAdapter(Context context,List<map& listitem) {
this.context =
this.listitem =
public int getCount() {
return listitem.size();
public Object getItem(int position) {
return listitem.get(position);
public long getItemId(int position) {
public View getView(int position, View convertView, ViewGroup parent) {
if (convertView == null) {
convertView = LayoutInflater.from(context).inflate(R.layout.gridview_item, null);
ImageView imageView = (ImageView) convertView.findViewById(R.id.image);
TextView textView = (TextView) convertView.findViewById(R.id.textView);
Map map = listitem.get(position);
imageView.setImageResource((Integer) map.get(&image&));
textView.setText(map.get(&title&) + &&);
return convertV
</map</map
效果图如下:Widget——GridView 学习笔记
编辑:www.fx114.net
本篇文章主要介绍了"Android
Widget——GridView 学习笔记",主要涉及到Android
Widget——GridView 学习笔记方面的内容,对于Android
Widget——GridView 学习笔记感兴趣的同学可以参考一下。
&GridView跟ListView都是比较常用的多控件布局,而GridView更是实现九宫图的首选!本文就是介绍如何使用GridView实现九宫图。GridView的用法很多,网上介绍最多的方法就是自己实现一个ImageAdapter继承BaseAdapter,再供GridView使用,类似这种的方法本文不再重复,本文介绍的GridView用法跟前文ListView的极其类似。。。。也算是我偷懒一下,嘻嘻嘻嘻。。。。
&&&&&& 先来贴出本文代码运行的结果:
本文需要添加/修改3个文件:main.xml、night_item.xml、JAVA源代码。
main.xml源代码如下,本身是个GirdView,用于装载Item:
&version="1.0"&encoding="utf-8"&&
&xmlns:android="http://schemas.android.com/apk/res/android"&&&
&&&&android:id="@+id/gridview"&&
&&&&android:layout_width="fill_parent"&&&
&&&&android:layout_height="fill_parent"&&
&&&&android:numColumns="auto_fit"&&
&&&&android:verticalSpacing="10dp"&&
&&&&android:horizontalSpacing="10dp"&&
&&&&android:columnWidth="90dp"&&
&&&&android:stretchMode="columnWidth"&&
&&&&android:gravity="center"&&
介绍一下里面的某些属性:
android:numColumns="auto_fit" ,GridView的列数设置为自动
android:columnWidth="90dp",每列的宽度,也就是Item的宽度android:stretchMode="columnWidth",缩放与列宽大小同步android:verticalSpacing="10dp",两行之间的边距,如:行一(NO.0~NO.2)与行二(NO.3~NO.5)间距为10dpandroid:horizontalSpacing="10dp",两列之间的边距。
接下来介绍&night_item.xml,这个XML跟前面ListView的ImageItem.xml很类似:
&version="1.0"&encoding="utf-8"&&
&&&&&&&&&xmlns:android="http://schemas.android.com/apk/res/android"&&&
&&&&&&&&&android:layout_height="wrap_content"&&&
&&&&&&&&&android:paddingBottom="4dip"&android:layout_width="fill_parent"&&
&&&&&&&&&&&&
&&&&&&&&&&&&&&&android:layout_height="wrap_content"&&&
&&&&&&&&&&&&&&&android:id="@+id/ItemImage"&&&
&&&&&&&&&&&&&&&android:layout_width="wrap_content"&&&
&&&&&&&&&&&&&&&android:layout_centerHorizontal="true"&&&
&&&&&&&&&&&
&&&&&&&&&&&&
&&&&&&&&&&&&&&&android:layout_width="wrap_content"&&&
&&&&&&&&&&&&&&&android:layout_below="@+id/ItemImage"&&&
&&&&&&&&&&&&&&&android:layout_height="wrap_content"&&&
&&&&&&&&&&&&&&&android:text="TextView01"&&&
&&&&&&&&&&&&&&&android:layout_centerHorizontal="true"&&&
&&&&&&&&&&&&&&&android:id="@+id/ItemText"&&
&&&&&&&&&&&
最后就是JAVA的源代码了,也跟前面的ListView的JAVA源代码很类似,不过多了&选中&的事件处理:
&&public&void&onCreate(Bundle&savedInstanceState)&{&&
&&&&&&super.onCreate(savedInstanceState);&&
&&&&&&setContentView(R.layout.main);&&
&&&&&&GridView&gridview&=&(GridView)&findViewById(R.id.gridview);&&
&&&&&&ArrayList&HashMap&String,&Object&&&lstImageItem&=&new&ArrayList&HashMap&String,&Object&&();&&
&&&&&&for(int&i=0;i&10;i++)&&
&&&&&&&&HashMap&String,&Object&&map&=&new&HashMap&String,&Object&();&&
&&&&&&&&map.put("ItemImage",&R.drawable.icon);&&
&&&&map.put("ItemText",&"NO."+String.valueOf(i));&&
&&&&&&&&lstImageItem.add(map);&&
&&&&&&SimpleAdapter&saImageItems&=&new&SimpleAdapter(this,&&&
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&lstImageItem,&&
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&R.layout.night_item,&&
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&new&String[]&{"ItemImage","ItemText"},&&&
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&new&int[]&{R.id.ItemImage,R.id.ItemText});&&
&&&&&&gridview.setAdapter(saImageItems);&&
&&&&&&gridview.setOnItemClickListener(new&ItemClickListener());&&
&&class&&ItemClickListener&implements&OnItemClickListener&&
public&void&onItemClick(AdapterView&?&&arg0,&&
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&View&arg1,&&
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&int&arg2,&&
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&long&arg3&&
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&)&{&&
&&&&HashMap&String,&Object&&item=(HashMap&String,&Object&)&arg0.getItemAtPosition(arg2);&&
&&&&setTitle((String)item.get("ItemText"));&&
一、不得利用本站危害国家安全、泄露国家秘密,不得侵犯国家社会集体的和公民的合法权益,不得利用本站制作、复制和传播不法有害信息!
二、互相尊重,对自己的言论和行为负责。
本文标题:
本页链接:Read The Fucking Source Code
雄关漫道真如铁,而今迈步从头越
Android Studio 添加第三方jar包
在Project 下的app 里面有个libs文件夹,如果没有就新建一个,方法如图:
新建libs文件夹,如图:
将jar包复制到libs目录下,在jar包上面点击右键选择Add As Library 如图:
选择app后OK,
在Android项目下打开build gradle (Module:app) ,在文件里面的dependencies下出现刚添加的jar包就成功添加;
没有更多推荐了,
加入CSDN,享受更精准的内容推荐,与500万程序员共同成长!

我要回帖

更多关于 android 引入jar包 的文章

 

随机推荐