Android(安卓)系统图标
16lz
2021-12-04
编写了一个简单的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
(因为文件有点大就不写出内容了)
更多相关文章
- 类和 Json对象
- android全屏,去掉title栏的办法
- Android(安卓)EditText 设置圆角
- Android(安卓)studio 运行即打包keystore之build.gradle设置
- Android之JAVASe基础篇-面向对象-IO(九)
- Android选项卡(TabWidget)应用
- Android很有用的代码片段
- Android(安卓)Service
- android小demo笔记