Android框架具有各种图标和图像 - 可以像R.drawable一样访问。* - 可以由应用程序用于常见任务。他们的名字暗示了它们是什么,但在许多情况下这还不够。必须使用trial-n-error来找到符合其目的的正确图标。
我的问题:有没有办法可以在一个地方预览所有这些图像,以便我可以快速决定使用哪些图像?
我查看了android源代码,但无法找到这些drawable的根。
如果您有任何提示,请告诉我。 感谢。
答案 0 :(得分:17)
感谢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<Map<String, Object>> drinfo = new ArrayList<Map<String, Object>>();
Field[] drawables = RDrawable.getFields();
for(Field dr : drawables) {
Map<String, Object> map = new HashMap<String, Object>();
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
获取源tarball 来自http://www.altcanvas.com/downloads/apks/drawablepreview.apk的或apk
答案 1 :(得分:13)
Android的SDK根/平台/机器人-X /数据/ RES /抽拉-HDPI
答案 2 :(得分:7)
我在Android 1.5 Drawables找到了一个有用的链接,导致了Google的官方Icon Design Guidelines。它似乎包含大多数(如果不是全部)Android的内置drawables。
答案 3 :(得分:0)
您可以预览Android SDK目录中的所有系统图标。
在Mac上查找Android SDK目录:
Android Studio.app
。Android Studio
> Preferences
sdk
:Appearance & Behavior
> System Settings
> Android SDK
Android SDK Location
:〜/ Library / Android / sdk 系统图标目录:
Android SDK Location
/ platforms / android-VER(21~28)
/ data / res / drawable-hdpi /
使用Finder.app
访问目录,将项目显示为图标,然后可以预览所有系统图标。