2009-12-15 7 views
12

Android framework, R.drawable olarak erişilebilir çeşitli simgeler ve resimlere sahiptir. * - bu, ortak görevler için uygulamalar tarafından kullanılabilir. İsimleri ne olduklarına dair bazı ipuçları veriyor, ancak çoğu durumda bu yeterli değil. Biri, kişinin amacına uyan doğru simgeyi bulmak için deneme-n-hatasını kullanmalıdır.R.drawable nasıl önizlenir * images

Soruma Soru: Tüm bu görüntüleri tek bir yerde önizlemenin bir yolu var mı, böylece hangisinin kullanacağına hızlıca karar verebilmem mümkün mü?

Android kaynak kodunun içine baktım ama bu çizgilerin kökünü bulamadım.

Herhangi bir ipucunuz varsa lütfen bize bildirin. Teşekkürler.

+1

APK'nın telefona neden ihtiyacı var? Oo –

cevap

17

Teşekkürler Corey, bu aradığım şey. Bu arada, tüm drawables önizlemek için küçük bir uygulama pişirdim. Bu ekran görüntüsünde gösterildiği gibi tüm çizim malzemeleri (görüntü önizleme ve isimleri) listelemek için yansıma kullanan küçük bir uygulama.

alt text

Temelde takip ediyor kod parçacığı:

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()); 
     } 
    } 
} 

Ayrıca http://www.altcanvas.com/downloads/apks/drawablepreview.apk

+0

İnanılmaz! Paylaştığınız için teşekkürler: -D – rubdottocom

7

Android 1.5 Drawables adresinde, Google'ın resmi Icon Design Guidelines numaralı telefonuna yönlendiren yararlı bir bağlantı buldum. Android'in dahili çekilebilirlerinin çoğunu içermiyor gibi görünüyor.