Android所有系统资源图标android.R.drawable.xxx查看(纯Java)


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

软件下载地址:

免费下载地址在 http://linux.bkjia.com/

用户名与密码都是www.bkjia.com

具体下载目录在 /pub/2011/09/18/Android所有系统资源图标android.R.drawable.xxx查看(纯Java)/

    

AndroidRDrawable.java代码

  1. import android.app.Activity;  
  2. import android.content.Context;  
  3. import android.os.Bundle;  
  4. import android.view.*;  
  5. import android.widget.*;  
  6. import android.widget.AdapterView.*;  
  7.   
  8. public class AndroidRDrawable extends Activity {  
  9.       
  10.     private AndroidRDrawable ard=this;  
  11.     private LinearLayout mainView=null;  
  12.     private TextView tv=null;  
  13.     private GridView gv=null;  
  14.     private int id=0x01080000;  
  15.       
  16.     public void onCreate(Bundle savedInstanceState) {  
  17.         super.onCreate(savedInstanceState);  
  18.         mainView=new LinearLayout(this);  
  19.         mainView.setOrientation(LinearLayout.VERTICAL);  
  20.         tv=new TextView(this);  
  21.         tv.setText("这里显示图标名称和id及其尺寸");  
  22.         gv_init();  
  23.         mainView.addView(tv);  
  24.         mainView.addView(gv);  
  25.         setContentView(mainView);  
  26.     }  
  27.       
  28.     /*gv初始化*/  
  29.     void gv_init(){  
  30.         gv=new GridView(this);  
  31.         GridView.LayoutParams lp=new GridView.LayoutParams(-1,-1);  
  32.         gv.setLayoutParams(lp);  
  33.         gv.setNumColumns(GridView.AUTO_FIT);  
  34.         gv.setVerticalSpacing(10);  
  35.         gv.setHorizontalSpacing(10);  
  36.         gv.setAdapter(new ImageAdapter(this));  
  37.         gv.setFocusableInTouchMode(true);  
  38.         gv.setOnItemClickListener(new OnItemClickListener(){  
  39.             public void onItemClick(AdapterView<?> arg0, View arg1, int arg2,long arg3) {  
  40.                 tv.setText("图标名称:"+ard.getResources().getResourceEntryName(0x01080000+arg2)+"\n");  
  41.                 tv.append("图标Id:0x"+Integer.toHexString(0x10800000+arg2)+"\n");  
  42.                 tv.append("图标大小:"+arg1.getWidth()+"x"+arg1.getHeight()+"\n");  
  43.             }  
  44.         });  
  45.         gv.setOnItemSelectedListener(new OnItemSelectedListener(){  
  46.             public void onItemSelected(AdapterView<?> arg0, View arg1,int arg2, long arg3) {  
  47.                 tv.setText("图标名称:"+ard.getResources().getResourceEntryName(0x01080000+arg2)+"\n");  
  48.                 tv.append("图标Id:0x"+Integer.toHexString(0x10800000+arg2)+"\n");  
  49.                 tv.append("图标大小:"+arg1.getWidth()+"x"+arg1.getHeight()+"\n");  
  50.             }  
  51.             public void onNothingSelected(AdapterView<?> arg0) {  
  52.               
  53.             }  
  54.         });  
  55.     }  
  56.       
  57.     class MyThread extends Thread{  
  58.           
  59.     }  
  60.       
  61.     /*ImageAdapter*/  
  62.     public class ImageAdapter extends BaseAdapter {  
  63.   
  64.         private Context context;  
  65.           
  66.         public ImageAdapter(Context c) {context = c;}  
  67.           
  68.         public int getCount() {return 152;}  
  69.         public Object getItem(int position) {return position;}  
  70.         public long getItemId(int position) {return position;}  
  71.   
  72.         public View getView(int position, View convertView, ViewGroup parent) {  
  73.             ImageView iv = new ImageView(context);  
  74.             iv.setLayoutParams(new GridView.LayoutParams(-2,-2));  
  75.             id=0x01080000+position;  
  76.             iv.setImageResource(id);  
  77.             iv.setScaleType(ImageView.ScaleType.CENTER_CROP);  
  78.             return iv;  
  79.         }  
  80.     }  
  81. }  

相关内容