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://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;
    	}
    }
}

  • 2
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值