Tylko niektóre drawable są dostępne za pośrednictwem
<ImageButton
src="@+android:drawable/
składnia. Na przykład expander_ic_maximized nie jest dostępny, ale wyraźnie w
http://androiddrawableexplorer.appspot.com/
jest to tak frustrujące, że trzeba pobierać drawables i ręcznie umieszczać je w moim folderze drawables .... wszelkie pomysły, jak to obejść ???
Odpowiedzi:
50 za odpowiedź № 1Android SDK ma wszystkie obrazy rozpakowane w %SDK-FOLDER%/platforms/android-*/data/res/drawable-*
teczka. Wystarczy wybrać żądany plik i umieścić go w zasobie aplikacji.
4 dla odpowiedzi nr 2
Zdaję sobie sprawę, że to trochę więcej pracy, ale jako obejście można ustawić programowy zasób obrazu.
findViewById(R.id.ImageButton1).setImageResource(android.R.drawable.expander_ic_maximized)
2 dla odpowiedzi nr 3
To proste. Znajdź nazwę żądanej ikony (np. ic_menu_preferences
) i wklej go do swojego XML.
Na przykład, aby wyświetlić ikonę ustawień w menu opcji, twój XML powinien być:
android:icon="@android:drawable/ic_menu_preferences"
To wszystko. Nie musisz kopiować do folderu do rysowania, kiedy piszesz :
podpisać po android
, adresuje zasoby systemowe.
1 dla odpowiedzi nr 4
wystarczy dodać to na liście importów:
import android.R;
ale sprawię, że twoje własne zasoby będą miały błąd, jeśli zechcesz go użyć. Błąd będzie podobny do:
R. nie można rozwiązać
Więc wolę tego nie robić import android.R
ale import *my.own.package*.R;
wtedy, kiedy mogę normalnie używać mojego własnego zasobu R.drawable.*something*
bez błędu, i umieścić android.R.*something_default*
korzystać z domyślnych zasobów Androida.
cóż, wybór, którego użyć, zależy od tego, czego potrzebujesz .. :)