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

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

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

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

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


person Jayesh    schedule 15.12.2009    source источник
comment
Зачем APK нужен доступ к телефону?! Оо   -  person    schedule 14.02.2011


Ответы (4)


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

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

person Jayesh    schedule 15.12.2009
comment
Удивительно! Спасибо, что поделились :-D - person rubdottocom; 15.12.2011

android-sdk-root/platforms/android-X/data/res/drawable-hdpi

person Alex    schedule 10.03.2011
comment
Вот ответ, я не уверен, что это полный список, но это должен быть отмеченный принятый ответ. - person Petrus K.; 01.10.2012

Я нашел полезную ссылку на Android 1.5 Drawables, которая ведет к официальному сайту Google Рекомендации по дизайну значков. Кажется, он содержит большинство, если не все, встроенные в Android возможности рисования.

person Corey D    schedule 15.12.2009

Вы можете предварительно просмотреть все системные значки в каталоге Android SDK.

Поиск каталога Android SDK на Mac:

  1. Откройте Android Studio.app.
  2. Щелкните меню: Android StudioPreferences
  3. Поиск sdk: Appearance & BehaviorSystem SettingsAndroid SDK
  4. Найдите Android SDK Location: ~/Library/Android/sdk

Каталог системных значков:

Android SDK Location/платформы/android-VER(21~28)/данные/разрешение/рисунок-hdpi/

Используйте Finder.app для доступа к каталогу, показывайте элементы в виде значков, а затем вы можете просмотреть все системные значки.

Вы также можете искать по имени значка, например, искать значки, содержащие ic_menu_: предварительный просмотр значков

person jqgsninimo    schedule 22.08.2020