Gallery与衍生的BaseAdapter容器
来源:互联网 发布:淘宝宝贝下载阿尔法 编辑:程序博客网 时间:2024/05/17 04:15
Gallery与衍生的BaseAdapter容器
新建一个继承Activity类的GalleryBaseAdapterActivity,并设置布局文件为:gallerybaseadapter.xml。
首先在布局文件中添加一个Gallery。
<?xmlversion="1.0"encoding="utf-8"?>
<LinearLayoutxmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/root"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical">
<Gallery
android:id="@+id/gallerybaseadapter_gallery"
android:layout_width="wrap_content"
android:layout_height="wrap_content"/>
</LinearLayout>
在Activity代码中设置点击Gallery图片后,显示一个Dialog。
package lyx.feng.second;
import java.lang.reflect.Field;
import java.util.ArrayList;
import java.util.List;
import java.util.Random;
import lyx.feng.simpletextdemo.R;
import android.app.Activity;
import android.app.AlertDialog;
import android.graphics.Color;
import android.os.Bundle;
import android.view.View;
import android.view.ViewGroup;
import android.widget.AdapterView;
import android.widget.AdapterView.OnItemClickListener;
import android.widget.BaseAdapter;
import android.widget.Gallery;
import android.widget.ImageView;
import android.widget.LinearLayout;
@SuppressWarnings("deprecation")
public class GalleryBaseAdapterActivity extends Activity {
private LinearLayoutroot = null;
private Gallery gallery = null;
private List<Integer>list = new ArrayList<Integer>();
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
super.setContentView(R.layout.gallerybaseadapter);
this.root = (LinearLayout)super
.findViewById(R.id.gallerybaseadapter_root);
this.gallery = (Gallery)super
.findViewById(R.id.gallerybaseadapter_gallery);
Field fields[] = R.drawable.class.getDeclaredFields();
for (int i = 0; i < fields.length; i++) {
if (fields[i].getName().startsWith("icon_")) {
try {
list.add(fields[i].getInt(R.drawable.class));
} catch (IllegalAccessException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IllegalArgumentException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
this.gallery.setAdapter(new ImageAdapter());
this.gallery.setOnItemClickListener(new OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> parent, View view,
int position,long id) {
root.setBackgroundColor(Color.rgb(new Random().nextInt(255),
new Random().nextInt(255),new Random().nextInt(255)));
AlertDialog.Builder builder = new AlertDialog.Builder(
GalleryBaseAdapterActivity.this);
ImageView imageView = new ImageView(
GalleryBaseAdapterActivity.this);
imageView.setScaleType(ImageView.ScaleType.FIT_XY);
imageView.setImageResource(list.get(gallery
.getSelectedItemPosition()));
builder.setView(imageView);
builder.create().show();
}
});
}
private class ImageAdapter extends BaseAdapter {
@Override
public int getCount() {
returnlist.size();
}
@Override
public Object getItem(int position) {
returnlist.get(position);
}
@Override
public long getItemId(int position) {
return position;
}
@Override
publicView getView(int position,View convertView, ViewGroup parent) {
ImageView view = new ImageView(GalleryBaseAdapterActivity.this);
view.setImageResource(list.get(position));
return view;
}
}
}
- Gallery与衍生的BaseAdapter容器
- Gallery与衍生BaseAdapter容器创建图片预览详解
- 4.10 心爱小宝贝相片集Gallery与衍生BaseAdapter容器
- 2013年3月22日----Gallery与衍生BaseAdapter
- Gallery和BaseAdapter容器
- 6.3 Gallery和BaseAdapter容器
- BaseAdapter + Gallery
- android Gallery控件与BaseAdapter适配器
- C++容器:容器中衍生出的类型
- C++容器:容器中衍生出的类型
- Gallery之BaseAdapter
- 微缩预览画廊的实现:抽象类BaseAdapter填充Gallery
- Android gallery+BaseAdapter实现简易的图片查看器
- BaseAdapter与SimpleAdapter的使用
- ListView与BaseAdapter的优化
- BaseAdapter的使用与优化
- BaseAdapter的使用与优化
- BaseAdapter的使用与优化
- VLC二次开发环境搭建
- 39-题目1083:特殊乘法
- linux shell 编程笔记 - shell的输入与输出 -1- echo命令
- (EM算法)The EM Algorithm
- leetcode Lowest Common Ancestor of a Binary Tree
- Gallery与衍生的BaseAdapter容器
- 对线性回归,logistic回归和一般回归的认识
- hdoj 2108 Shape of HDU 【向量叉乘判是否共线】
- 微信开发笔记——微信网页登录授权,获取用户信息
- c++第一次作业
- HTTP协议之ContentType
- IOS 开发之 cell高度自适应
- Floating Action Button-Android M新控件
- TabLayout和ViewPager的简单联用