好贷网好贷款

GridView实现图片和文本的简单显示二

发布时间:2016-12-4 7:53:48 编辑:www.fx114.net 分享查询网我要评论
本篇文章主要介绍了"GridView实现图片和文本的简单显示二",主要涉及到GridView实现图片和文本的简单显示二方面的内容,对于GridView实现图片和文本的简单显示二感兴趣的同学可以参考一下。

xml代码: main.xml <?xml version="1.0" encoding="utf-8"?> <GridView 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:gravity="center"     android:horizontalSpacing="10dp"     android:numColumns="auto_fit"     android:stretchMode="columnWidth"     android:verticalSpacing="10dp" /> 显示图片和文本的布局---picture_item.xml <?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"     android:id="@+id/root"     android:layout_width="wrap_content"     android:layout_height="wrap_content"     android:layout_marginTop="5dp"     android:orientation="vertical" >     <ImageView         android:id="@+id/image"         android:layout_width="100dp"         android:layout_height="150dp"         android:layout_gravity="center"         android:padding="4dp"         android:scaleType="fitXY" />     <TextView         android:id="@+id/title"         android:layout_width="wrap_content"         android:layout_height="wrap_content"         android:layout_gravity="center"         android:gravity="center_horizontal" /> </LinearLayout> Java代码: package com.example.gridviewdd; import java.util.ArrayList; import java.util.List; import android.app.Activity; import android.content.Context; import android.os.Bundle; import android.view.LayoutInflater; import android.view.View; import android.view.ViewGroup; import android.widget.AdapterView; import android.widget.BaseAdapter; import android.widget.GridView; import android.widget.ImageView; import android.widget.TextView; import android.widget.Toast; import android.widget.AdapterView.OnItemClickListener; public class MainActivity extends Activity {     private GridView gridView;     // 图片的文字标题     private String[] titles = new String[] { "pic1", "pic2", "pic3", "pic4",             "pic5", "pic6", "pic7", "pic8", "pic9" };     // 图片ID数组     private int[] images = new int[] { R.drawable.pic0, R.drawable.pic0,             R.drawable.pic0, R.drawable.pic0, R.drawable.pic0, R.drawable.pic0,             R.drawable.pic0, R.drawable.pic0, R.drawable.pic0 };     @Override     public void onCreate(Bundle savedInstanceState) {         super.onCreate(savedInstanceState);         setContentView(R.layout.activity_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 LayoutInflater inflater;     private List<Picture> pictures;     // 传进图片数组,也可以在此类中获取图片资源     public PictureAdapter(String[] titles, int[] images, Context context) {         super();         pictures = new ArrayList<Picture>();         inflater = LayoutInflater.from(context);         for (int i = 0; i < images.length; i++) {             Picture picture = new Picture(titles[i], images[i]);             pictures.add(picture);         }     }     @Override     public int getCount() {         if (null != pictures) {             return pictures.size();         } else {             return 0;         }     }     @Override     public Object getItem(int position) {         return pictures.get(position);     }     @Override     public long getItemId(int position) {         return position;     }     @Override     public View getView(int position, View convertView, ViewGroup parent) {         ViewHolder viewHolder;         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);         } else {             viewHolder = (ViewHolder) convertView.getTag();         }         // 显示文本         viewHolder.title.setText(pictures.get(position).getTitle());         // 显示图片         viewHolder.image.setImageResource(pictures.get(position).getImageId());         return convertView;     } } /**  *  * @author hunter  *  */ class ViewHolder {     public TextView title;     public ImageView image; } /**  * 图片信息  * @author hunter  *  */ class Picture {     private String title;     private int imageId;     public Picture() {         super();     }     public Picture(String title, int imageId) {         super();         this.title = title;         this.imageId = imageId;     }     public String getTitle() {         return title;     }     public void setTitle(String title) {         this.title = title;     }     public int getImageId() {         return imageId;     }     public void setImageId(int imageId) {         this.imageId = imageId;     } }

上一篇:[读书笔记]软件架构师职业导读
下一篇:CCControlSlider 滑动条

相关文章

相关评论