编写了一个简单的Android 程序来读取android系统中的图标,为大家android编程过程中系统图标引用提供方便:

Activity代码

import android.app.Activity;import android.os.Bundle;import android.view.View;import android.widget.AdapterView;import android.widget.Gallery;import android.widget.ImageView;import android.widget.Toast;import com.gionee.icon.R;public class AndroidImageActivity extends Activity {    private Gallery gallery;    private ImageView imageview;    private ImageAdapter imageadapter;    @Override    public void onCreate(Bundle savedInstanceState) {        super.onCreate(savedInstanceState);        setContentView(R.layout.main);        imageadapter=new ImageAdapter(this);        /* 通过findViewById 取得 资源对象*/        gallery=(Gallery)findViewById(R.id. Gallery_preView);        imageview=(ImageView)findViewById(R.id. ImageView_photo );        /*给Gallery设置适配器 把Ex_Ctrl_10ME类传入参数*/        gallery.setAdapter(imageadapter);        /*设置Gallery的点击事件监听器*/                gallery.setOnItemClickListener(new Gallery.OnItemClickListener(){        public void onItemClick(AdapterView<?> parent, View v, int position,long id) {                /*显示该图片是几号*/                Toast.makeText(AndroidImageActivity.this,"图片:" + imageadapter.map.get(position).get("name").toString(), Toast.LENGTH_SHORT).show();                /*设置大图片*/                imageview.setBackgroundResource(Integer.parseInt(imageadapter.map.get(position).get("id").toString()));                }                });    }}

图片适配器代码:

import android.content.Context;import android.content.res.TypedArray;import android.view.View;import android.view.ViewGroup;import android.widget.BaseAdapter;import android.widget.Gallery;import android.widget.ImageView;import java.util.ArrayList;import java.util.HashMap;public class ImageAdapter extends BaseAdapter {    int mGalleryItemBackground;    private Context mContext;    public ArrayList<HashMap<String, Object>> map;    public ImageAdapter(Context context) {        this.mContext = context;        /*         * 使用在res/values/attrs.xml 中的<declare-styleable>定义 的Gallery 属性.         */        TypedArray typed_array = context.obtainStyledAttributes(R.styleable.Gallery);        /* 取得Gallery 属性的Index id */        mGalleryItemBackground = typed_array.getResourceId(                R.styleable.Gallery_android_galleryItemBackground, 0);        /* 让对象的styleable 属性能够反复使用 */        typed_array.recycle();        ReadProperties rp = new ReadProperties();        map = rp.getImage(mContext);    }    @Override    public int getCount() {        return map.size();    }    @Override    public Object getItem(int position) {        return position;    }    @Override    public long getItemId(int position) {        return position;    }    @Override    public View getView(int position, View convertView, ViewGroup parent) {        /* 产生ImageView 对象 */        ImageView imageview = new ImageView(mContext);        /* 设置图片给imageView 对象 */        imageview.setImageResource(Integer.parseInt(map.get(position).get("id").toString()));        /* 重新设置图片的宽高 */        imageview.setScaleType(ImageView.ScaleType.FIT_XY);        /* 重新设置Layout 的宽高 */        imageview.setLayoutParams(new Gallery.LayoutParams(80, 80));        /* 设置Gallery 背景图 */        imageview.setBackgroundResource(mGalleryItemBackground);        /* 返回imageView 对象 */        return imageview;    }}

读取配置文件:

import android.content.Context;import java.io.IOException;import java.io.InputStream;import java.util.ArrayList;import java.util.Enumeration;import java.util.HashMap;import java.util.Properties;public class ReadProperties {    @SuppressWarnings("unchecked")    public ArrayList<HashMap<String, Object>> getImage(Context context) {        ArrayList<HashMap<String, Object>> image_map = new ArrayList<HashMap<String, Object>>();                Properties pro = new Properties();        InputStream is;        try {            is = context.getResources().openRawResource(R.raw.info);            pro.load(is);        } catch (IOException e) {            e.printStackTrace();        }                //返回属性列表中所有键的枚举,如果在主属性列表中未找到同名的键,则包括默认属性列表中不同的键        Enumeration<String> enumvalue = (Enumeration<String>) pro.propertyNames();        while(enumvalue.hasMoreElements()) {            HashMap<String, Object> map = new HashMap<String, Object>();            String key = enumvalue.nextElement();            String value = pro.getProperty(key);            map.put("name", "android.R.drawable" + key);            map.put("id", value);            image_map.add(map);        }                return image_map;    }}

配置文件:放置在res/raw/info.properties

(因为文件有点大就不写出内容了)

更多相关文章

  1. 类和 Json对象
  2. android全屏,去掉title栏的办法
  3. Android(安卓)EditText 设置圆角
  4. Android(安卓)studio 运行即打包keystore之build.gradle设置
  5. Android之JAVASe基础篇-面向对象-IO(九)
  6. Android选项卡(TabWidget)应用
  7. Android很有用的代码片段
  8. Android(安卓)Service
  9. android小demo笔记

随机推荐

  1. Android传感器高级编程
  2. NDK编译Android字符界面的可执行程序
  3. Hello, Android!
  4. Android(安卓)GSM驱动模块详细分析
  5. Android跨进程通信之非AIDL(二)
  6. 视图模式:Android ViewPager & WP Pivot
  7. Android问题(一)Android Studio 提示"Error
  8. Android(安卓)SDK更新后出现No target av
  9. Android生成和扫描二维码之ZXing
  10. 【Android】自定义控件之View原理与使用