Android 实现GridView多选效果【附源码】
在使用Android GridView的时候,有时需要多选上面显示的类容,比如批量删除上面显示的图片,批量上传图片等。这个时候我们可以使用层叠图来实现,效果如下,点击图片后,上面会显示出一个打钩的图片,如图:再点击选中图片,勾消失。
Android 实现GridView多选效果 Demo下载:
**************************************************************
下载在安科网的1号FTP服务器里,下载地址:
用户名:www.6688.cc
下载方法见 http://www.linuxidc.net/thread-1187-1-1.html
**************************************************************
具体代码如下:
main.xml
<LinearLayoutxmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:background="#000000"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
tools:context=".MainActivity">
<GridView
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:id="@+id/grid"
android:verticalSpacing="3dp"
android:horizontalSpacing="3dp"
android:numColumns="3"
></GridView>
</LinearLayout>
item.xml
<?xmlversion="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:scaleType="fitXY"
android:padding="3dp"
android:layout_height="70dp"
android:layout_width="70dp"
android:id="@+id/image_item"
/>
</LinearLayout>
mainActivity.java
package com.imageview;
import android.os.Bundle;
import android.app.Activity;
import android.view.View;
import android.widget.AdapterView;
import android.widget.GridView;
import android.widget.AdapterView.OnItemClickListener;
public class MainActivity extends Activity {
private Adpter adpter;
private GridView gridView;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
int [] image={R.drawable.dog1,R.drawable.m2,R.drawable.m3,R.drawable.m4,R.drawable.m5,R.drawable.dog2};
adpter=new Adpter(image, this);
gridView=(GridView) findViewById(R.id.grid);
gridView.setAdapter(adpter);
gridView.setOnItemClickListener(new OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> arg0, View arg1,
int position, long arg3) {
adpter.chiceState(position);
}
});
}
}