当前位置:  开发笔记 > 编程语言 > 正文

如何预览R.drawable.*图像

如何解决《如何预览R.drawable.*图像》经验,为你挑选了3个好方法。

Android框架有各种图标和图像 - 可以像R.drawable一样访问.* - 可以被应用程序用于常见任务.他们的名字暗示了它们是什么,但在许多情况下这还不够.必须使用trial-n-error来找到符合一个目的的正确图标.

我的问题:有没有办法可以在一个地方预览所有这些图像,这样我就可以快速决定使用哪些图像?

我查看了内部的android源代码,但无法找到这些drawable的根.

如果你们有任何提示,请告诉我.谢谢.



1> Jayesh..:

感谢Corey,这正是我所寻找的.与此同时,我煮了一个小应用程序来预览所有的drawables.这是一个小应用程序,它使用反射列出所有可绘制的内容(图像预览及其名称),如此屏幕截图所示.

替代文字

它基本上遵循代码片段:

public class DrawablePreviewActivity extends ListActivity
{
    private static final String TAG = "DrawablePreviewActivity";

    public void onCreate(Bundle savedInstanceState)
    {
        super.onCreate(savedInstanceState);

        setTitle("Preview of android.R.drawable.*");

        try {
            Class RClass = Class.forName("android.R");

            Class[] subclasses = RClass.getDeclaredClasses();

            Class RDrawable = null;

            for(Class subclass : subclasses) {
                if("android.R.drawable".equals(subclass.getCanonicalName())) {
                    RDrawable = subclass;
                    break;
                }
            }

            List> drinfo = new ArrayList>();

            Field[] drawables = RDrawable.getFields();
            for(Field dr : drawables) {
                Map map = new HashMap();
                Drawable img = getResources().getDrawable(dr.getInt(null));

                map.put("drimg", dr.getInt(null));
                map.put("drname", dr.getName());

                drinfo.add(map);
            }

            setListAdapter(new SimpleAdapter(this,
                            drinfo,
                            R.layout.listitem,
                            new String[] { "drimg", "drname" },
                            new int[] { R.id.drimg, R.id.drname }));

        } catch(IllegalAccessException iae) {
            Log.e(TAG, iae.toString());
        } catch(ClassNotFoundException cnfe) {
            Log.e(TAG, cnfe.toString());
        }
    }
}

您还可以从http://www.altcanvas.com/downloads/drawablepreview.tar.gz获取源代码压缩包

或来自http://www.altcanvas.com/downloads/apks/drawablepreview.apk的 apk



2> Alex..:

Android的SDK根/平台/机器人-X /数据/ RES /抽拉-HDPI



3> Corey D..:

我在Android 1.5 Drawables上找到了一个有用的链接,这导致了Google的官方图标设计指南.它似乎包含大多数(如果不是全部)Android的内置drawables.

推荐阅读
sx-March23
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有