GridView的使用

1.布局:(主布局)

<?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:numColumns="auto_fit"

   android:verticalSpacing="10dp"

   android:horizontalSpacing="10dp"

   android:stretchMode="columnWidth"

   android:gravity="center"

/>


2.子布局:

<?xml version="1.0"encoding="utf-8"?>

<LinearLayoutxmlns:android="http://schemas.android.com/apk/res/android"

   android:layout_width="match_parent"

   android:layout_height="match_parent"

   android:orientation="vertical" >

 

    <ImageView

       android:id="@+id/iv"

       android:layout_width="300sp"

       android:layout_height="300sp"

       android:src="@drawable/ic_launcher" />

 

</LinearLayout>

3.逻辑代码

public class MainActivity extends Activity {

        private Integer[] mThumbIds = {

                  R.drawable.p0,R.drawable.p1,R.drawable.p2,R.drawable.p3,

                   R.drawable.p4,R.drawable.p5,R.drawable.p6,R.drawable.p7,

                  R.drawable.p8,R.drawable.p9,R.drawable.p10,R.drawable.p11,

                  

           };

        private List<Integer>list;

        private ImageAdapter adapter;

        private int p=0;

 

       @Override

       protectedvoid onCreate(Bundle savedInstanceState) {

              super.onCreate(savedInstanceState);

              setContentView(R.layout.activity_main);

              list=newArrayList<Integer>();

              for(int i = 0; i <mThumbIds.length; i++) {

                     list.add(mThumbIds[i]);

              }

              GridViewgridView=(GridView) findViewById(R.id.gridview);

              adapter=newImageAdapter(this,list);

              gridView.setAdapter(adapter);

              //短按实现图片变大

              gridView.setOnItemClickListener(newOnItemClickListener() {

 

                     @Override

                     publicvoid onItemClick(AdapterView<?> parent, View view,

                                   intposition, long id) {

                            // TODO Auto-generatedmethod stub

                            AlertDialog.Builderbuilder=new AlertDialog.Builder(MainActivity.this);

                            ViewdialogView=getLayoutInflater().inflate(R.layout.iv_item, null);

                           

                           

                            finalImageView iv=(ImageView) dialogView.findViewById(R.id.iv);

                            iv.setImageResource(list.get(position)

                                          );

                            builder.setView(dialogView);

                            builder.create().show();

                           

                           

                           

                     }

              });

              //长按实现删除

              gridView.setOnItemLongClickListener(newOnItemLongClickListener() {

 

                     @Override

                     publicboolean onItemLongClick(AdapterView<?> parent, View view,

                                   intposition, long id) {

                            p=position;

                            AlertDialog.Builderbuilder=new AlertDialog.Builder(MainActivity.this);

                            builder.setIcon(R.drawable.ic_launcher);

                            builder.setTitle("删除");

                           

                            builder.setPositiveButton("确定", new OnClickListener() {

                                   //finalAdapterContextMenuInfo info=

                                  

                                   @Override

                                   publicvoid onClick(DialogInterface dialog, int which) {

                                          //TODO Auto-generated method stub

                                          list.remove(p);

                                          adapter.notifyDataSetChanged();

                                   }

                            });

                            builder.create().show();

                            returnfalse;

                     }

              });

             

             

       }

       public classImageAdapter extends BaseAdapter {

           private Context mContext;

           private List<Integer>list;

 

           public ImageAdapter(Contextc,List<Integer>list) {

               mContext = c;

               this.list=list;

           }

 

           public int getCount() {

               return list.size();

           }

 

           public Object getItem(int position) {

               return list.get(position);

           }

 

           public long getItemId(int position) {

               return position;

           }

 

           // create a new ImageView for each itemreferenced by the Adapter

           public View getView(int position, ViewconvertView, ViewGroup parent) {

               ImageView imageView;

               if (convertView == null) {  // if it's not recycled, initialize someattributes

                   imageView = newImageView(mContext);

                   imageView.setLayoutParams(newGridView.LayoutParams(85, 85));

                  imageView.setScaleType(ImageView.ScaleType.CENTER_CROP);

                   imageView.setPadding(8, 8, 8, 8);

               } else {

                   imageView = (ImageView)convertView;

               }

 

              //imageView.setImageResource(mThumbIds[position]);

              imageView.setImageResource(list.get(position)

                           );

               return imageView;

           }

 

           // references to our images

         

       }

       @Override

       publicboolean onCreateOptionsMenu(Menu menu) {

              //Inflate the menu; this adds items to the action bar if it is present.

              getMenuInflater().inflate(R.menu.main,menu);

              returntrue;

       }

 

}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值