這篇是研究,如何使用Gridview,這裡先舉最簡單的例子,例如這個2x2的純圖片按下去可以知道按到那個項目的功能:下載連結
F:\_android_work\Android_work_new2\webview_new\GridViewEx\app


程式用書上的例子就好,我想把這個程式整個研究一遍。ImageAdapter的部份要研究一下,先研究到這邊。
xml:
android:id="@+id/LinearLayout1"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical"
tools:context=".MainActivity" >
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:gravity="center"
android:numColumns="2"
android:stretchMode="columnWidth" >
MainActivity:
import android.app.Activity;
import android.os.Bundle;
import android.view.View;
import android.widget.AdapterView;
import android.widget.AdapterView.OnItemClickListener;
import android.widget.GridView;
import android.widget.Toast;
public class MainActivity extends Activity implements OnItemClickListener {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
GridView gridview = (GridView) findViewById(R.id.gridView1);
gridview.setAdapter(new ImageAdapter(this));
gridview.setOnItemClickListener(this);
}
@Override
public void onItemClick(AdapterView arg0, View arg1, int arg2, long arg3) {
Toast.makeText(this, "選取"+(arg2+1)+"", Toast.LENGTH_SHORT).show();
}
}
ImageAdapter.java:
public class ImageAdapter extends BaseAdapter {
int[] images = { R.drawable.feather1, R.drawable.feather2,
R.drawable.feather3, R.drawable.feather4,
R.drawable.feather5, R.drawable.feather6 };
Context mContext;
ImageAdapter(Context c) {
mContext = c;
}
@Override
public int getCount() {
return images.length;
}
@Override
public Object getItem(int arg0) {
return arg0;
}
@Override
public long getItemId(int arg0) {
return arg0;
}
@Override
public View getView(int arg0, View arg1, ViewGroup arg2) {
ImageView imageView;
if (arg1 == null) {
imageView = new ImageView(mContext);
imageView.setLayoutParams(new GridView.LayoutParams(288, 288));
imageView.setScaleType(ImageView.ScaleType.FIT_CENTER);
} else {
imageView = (ImageView) arg1;
}
imageView.setImageResource(images[arg0]);
return imageView;
}
}
沒有留言:
張貼留言