Подтвердить что ты не робот

Как просмотреть изображения R.drawable. *

Android framework имеет множество значков и изображений, доступных как R.drawable. * - которые могут использоваться приложениями для общих задач. Их имена дают некоторый намек на то, что они есть, но во многих случаях этого недостаточно. Нужно использовать пробную n-ошибку, чтобы найти значок справа, который соответствует одной цели.

Мой вопрос: есть ли способ, когда я могу просмотреть все эти изображения в одном месте, чтобы я мог быстро решить, какие из них использовать?

Я заглянул в исходный код Android, но не смог найти корень этих чертежей.

Сообщите мне, есть ли у вас какие-либо советы. Спасибо.

4b9b3361

Ответ 1

Спасибо, Кори, это то, что я искал. Тем не менее, я приготовил небольшое приложение, чтобы просмотреть все чертежи. Это небольшое приложение, которое использует отражение, чтобы отобразить все чертежи (предварительный просмотр изображений и их имена), как показано на этом снимке экрана.

alt text

Это в основном следующий фрагмент кода:

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

или apk из http://www.altcanvas.com/downloads/apks/drawablepreview.apk

Ответ 2

Android-СДК-корень/платформы/Android-X/данные/RES/вытяжка-ИПЧР