黑马程序——Gridview的认识

来源:互联网 发布:狼顾之相真存在么 知乎 编辑:程序博客网 时间:2024/05/08 19:21

今天看了半天的那个java的视频,略枯燥,下午到晚上做了点android 的东西

看了一个程序的gridview布局的很好看的,于是自己就模仿写了起来

因为之前一直比较熟悉listview所以对gridview不是很熟悉。

自己摸索的写了起来:

这里是主布局文件

<?xml version="1.0" encoding="utf-8"?>  <GridView xmlns:android="http://schemas.android.com/apk/res/android"      android:id="@+id/gridview"      android:numColumns="2"    android:layout_width="fill_parent"      android:layout_height="fill_parent"       android:verticalSpacing="10dp"      android:horizontalSpacing="10dp"         android:stretchMode="columnWidth"      android:gravity="center"       android:background="@color/white"    />  

这里是子布局文件

<?xml version="1.0" encoding="utf-8"?><RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"    android:layout_width="fill_parent"    android:layout_height="wrap_content" >    <RelativeLayout                android:layout_marginTop="5dp"        android:layout_width="fill_parent"        android:layout_height="wrap_content"        android:layout_marginLeft="5dp"        android:layout_marginRight="5dp"        android:background="@drawable/qq"        android:orientation="horizontal" >        <ImageView            android:id="@+id/ItemImage"            android:layout_width="wrap_content"            android:layout_height="wrap_content"            android:layout_centerHorizontal="true"            android:padding="4dp"            android:scaleType="fitXY"            android:src="@drawable/test5" />        <TextView            android:id="@+id/ItemText"            android:layout_width="wrap_content"            android:layout_height="wrap_content"                       android:layout_below="@+id/ItemImage"             android:layout_gravity="center"         android:gravity="center_horizontal"            android:layout_marginTop="0dip"            android:textColor="#ff0000"            android:text="我在山东商务职业学院请你电击购买或者点赞支持"          />        <Button            android:layout_below="@+id/ItemText"            android:id="@+id/shoucang"            android:layout_width="70dp"            android:layout_height="40dp"            android:layout_alignParentBottom="true"            android:layout_alignParentLeft="true"                      android:text="收藏" />        <Button            android:layout_below="@+id/ItemText"            android:id="@+id/goumai"            android:layout_width="70dp"            android:layout_height="40dp"            android:layout_alignParentBottom="true"            android:layout_alignParentRight="true"            android:text="购买" />    </RelativeLayout></RelativeLayout>

于是自己还写了个baseadapter图片处理用的imageloader

但是我实际用的是simpleadapter下面是baseadaptr因为我没测试,就直接贴出源码

public class GridviewAdapter extends BaseAdapter {private ImageLoader imageLoader = null;privateDisplayImageOptions options = null;static class ViewHolder {ImageView ItemImage;TextView ItemText;Button shoucang;Button goumai;}private Context context;private ArrayList<Taokemodel> news;public GridviewAdapter(Context context,ArrayList<Taokemodel> news) {this.context = context;this.news = news;imageLoader = ImageLoader.getInstance();imageLoader.init(ImageLoaderConfiguration.createDefault(context));options = new DisplayImageOptions.Builder().displayer(new RoundedBitmapDisplayer(0xff000000, 10)).cacheInMemory().cacheOnDisc().build();}@Overridepublic int getCount() {return news.size();}@Overridepublic Taokemodel  getItem(int position) {return news.get(position);}@Overridepublic long getItemId(int position) {return position;}@Overridepublic View getView(int position, View convertView, ViewGroup parent) {ViewHolder holder = null;if(convertView == null) {convertView = LayoutInflater.from(context).inflate(R.layout.taoke_item, null);holder = new ViewHolder();holder.ItemImage = (ImageView) convertView.findViewById(R.id.right_image);holder.ItemText = (TextView) convertView.findViewById(R.id.zhuti);convertView.setTag(holder);} else {holder = (ViewHolder) convertView.getTag();}imageLoader.displayImage(getItem(position).getHead(), holder.ItemImage, options);holder.ItemText.setText(getItem(position).getDidian());return convertView;}}


接着是主程序

public class NearByAcitivity extends Activity {private GridView gridView;private GridviewAdapter adapter;@Overrideprotected void onCreate(Bundle savedInstanceState) {// TODO 自动生成的方法存根super.onCreate(savedInstanceState);setContentView(R.layout.gridviewlayout);ArrayList<HashMap<String, Object>> listImage=new ArrayList<HashMap<String,Object>>();for (int i = 0; i < 20; i++) {HashMap<String, Object> map=new HashMap<String, Object>();map.put("ItemImage", R.drawable.test5);map.put("ItemText", "这里是关于gridview的文字的描述的地方请点赞或者支持"+String.valueOf(i));listImage.add(map);SimpleAdapter saImageItems = new SimpleAdapter(this, // 没什么解释  listImage,// 数据来源                 R.layout.gridview_item,// night_item的XML实现                  // 动态数组与ImageItem对应的子项                 new String[] { "ItemImage", "ItemText" },                 // ImageItem的XML文件里面的一个ImageView,两个TextView ID                  new int[] { R.id.ItemImage, R.id.ItemText }); gridView=(GridView)findViewById(R.id.gridview);gridView.setAdapter(saImageItems);}//adapter=new GridviewAdapter(this, news);}}


 

程序到此结束。今天收获了很多的东西,很开心

------- android培训java培训IOS培训.Net培训期待与您交流! ----------
 

0 0
原创粉丝点击