在编程的时候,我们经常要用到android的系统资源图标,一般都是引用其id如android.R.drawable.xxx。该资源名字能够很方便的服务我们引用,但是有一些图片名字接近,我们不知道该选哪个好。为此,本人设计了一个软件用于查看系统所带的所有资源文件。我们先通过API查看android.R.drawable文档,第一个是alert_dark_frame,其值为0x01080000,最后一个为zoom_plate,其值为0x01080097,这些值并非连续的,中间有些值是没有图标与之对应的,但这并不影响我们设计视图。我们通过GridView来展示所有资源,标题显示图片id和尺寸,运行效果图如下图所示。有了这个软件,我们在以后的编程中也可以随时引用系统提供图片文件,不但节省了人力去设计图标,而且还可以在很大程度上减少了软件包的大小。

软件下载地址:http://download.csdn.net/detail/mrlixirong/3609840

AndroidRDrawable.java代码

import android.app.Activity;import android.content.Context;import android.os.Bundle;import android.view.*;import android.widget.*;import android.widget.AdapterView.*;public class AndroidRDrawable extends Activity {private AndroidRDrawable ard=this;private LinearLayout mainView=null;private TextView tv=null;private GridView gv=null;private int id=0x01080000;    public void onCreate(Bundle savedInstanceState) {        super.onCreate(savedInstanceState);        mainView=new LinearLayout(this);        mainView.setOrientation(LinearLayout.VERTICAL);        tv=new TextView(this);        tv.setText("这里显示图标名称和id及其尺寸");        gv_init();        mainView.addView(tv);        mainView.addView(gv);        setContentView(mainView);    }        /*gv初始化*/    void gv_init(){    gv=new GridView(this);    GridView.LayoutParams lp=new GridView.LayoutParams(-1,-1);    gv.setLayoutParams(lp);    gv.setNumColumns(GridView.AUTO_FIT);    gv.setVerticalSpacing(10);    gv.setHorizontalSpacing(10);    gv.setAdapter(new ImageAdapter(this));    gv.setFocusableInTouchMode(true);    gv.setOnItemClickListener(new OnItemClickListener(){public void onItemClick(AdapterView<?> arg0, View arg1, int arg2,long arg3) {tv.setText("图标名称:"+ard.getResources().getResourceEntryName(0x01080000+arg2)+"\n");tv.append("图标Id:0x"+Integer.toHexString(0x10800000+arg2)+"\n");tv.append("图标大小:"+arg1.getWidth()+"x"+arg1.getHeight()+"\n");}    });    gv.setOnItemSelectedListener(new OnItemSelectedListener(){public void onItemSelected(AdapterView<?> arg0, View arg1,int arg2, long arg3) {tv.setText("图标名称:"+ard.getResources().getResourceEntryName(0x01080000+arg2)+"\n");tv.append("图标Id:0x"+Integer.toHexString(0x10800000+arg2)+"\n");tv.append("图标大小:"+arg1.getWidth()+"x"+arg1.getHeight()+"\n");}public void onNothingSelected(AdapterView<?> arg0) {}    });    }        class MyThread extends Thread{        }        /*ImageAdapter*/    public class ImageAdapter extends BaseAdapter {    private Context context;        public ImageAdapter(Context c) {context = c;}        public int getCount() {return 152;}    public Object getItem(int position) {return position;}    public long getItemId(int position) {return position;}    public View getView(int position, View convertView, ViewGroup parent) {    ImageView iv = new ImageView(context);    iv.setLayoutParams(new GridView.LayoutParams(-2,-2));    id=0x01080000+position;    iv.setImageResource(id);    iv.setScaleType(ImageView.ScaleType.CENTER_CROP);    return iv;    }    }}

更多相关文章

  1. Android(安卓)Studio中的keystore
  2. Android之自定义View的死亡三部曲之(Measure)
  3. Android(安卓)字符串应用浅析
  4. android studio 3.4.1 版 NDK 自动编译产生第三方.so 库(一)
  5. Android系统显示原理
  6. Android程序安装后图标不显示
  7. android 虚拟机设置屏幕尺寸
  8. Android(安卓)重要基本开发规范
  9. Android(安卓)修改全局自定义字体样式(字形,大小)※

随机推荐

  1. Android(安卓)Studio无法在线更新
  2. A simple guide to 9-patch for Android(
  3. libGDX引擎在android APP开发中应用系列-
  4. android使用ant编译打包
  5. %1$s %1$d Android(安卓)string (java & A
  6. Android控件隐藏方式 .
  7. Android历代版本的代号
  8. Android移动开发
  9. android Activity单元测试
  10. 在Android中扫描wifi热点演示实例教程