2011-08-20 16 views
5

私は、this pageに示すように、Androidのスピナードローイング(spinner_black_16、spinner_black_20、spinner_black_48、またはspinner_black_76)のいずれかを使用しようとしています。私のプロジェクトはSDK 2.1を使用しているので、2.2に更新しました。そのページの状態は、これらが含まれているSDKのバージョンです。残念ながら、android.R.drawable.spinner_black_xxのどれも定義されていないようです。アンドロイドスピナードロワブルは使用できませんか?

これらのドロワブルは、デベロッパー向けに使用できませんか?

残念ながら
final Drawable spinner = new ProgressBar(context).getIndeterminateDrawable(); 

、私に白スピナーではなく、黒のものを提供しています。私はそれらにアクセスできるように思われる唯一の他の方法は、以下の複雑なメソッドを介してです。

+1

私はこれらのスピナーにアクセスすることはできませんが(アンドロイド.R.drawable.spinner_black _...でアクセスしようとしましたが)、アドバイスを1つ:アンドロイドのネイティブスタイルを使用しないことをお勧めします。簡単な理由から、彼らはいつでも消えたり変えたりするかもしれません。 – Ready4Android

+0

@ Ready4Android - あなたが正しいです。あなたが回答として投稿する場合、私は正しいとマークします。 –

+2

あなたはまた、ドロイドを取ってあなたのプロジェクトにインポートするためにアンドロイドのsdkフォルダを通過しようとすることができます。あなたはそれらを/platforms/android-xx/data/res – Apperside

答えて

1

これらのドロウアブルにアクセスする最善の方法は、SDKディレクトリからプロジェクトにコピーし、他のリソースと同様にアクセスすることです。

ドロワーブルは$ANDROID_SDK_DIR/platforms/android-*/data/res/drawable-*/にあります。ドロワーブルを取り出そうとしているOSのバージョンをダウンロードして選択することができます。 APIレベル7/OSバージョン2.1は、完全な補完を持っています

platforms/android-7/data/res/drawable-mdpi/spinner_black_16.png 
platforms/android-7/data/res/drawable-mdpi/spinner_black_20.png 
platforms/android-7/data/res/drawable-mdpi/spinner_black_48.png 
platforms/android-7/data/res/drawable-mdpi/spinner_black_76.png 
platforms/android-7/data/res/drawable-hdpi/spinner_black_16.png 
platforms/android-7/data/res/drawable-hdpi/spinner_black_20.png 
platforms/android-7/data/res/drawable-hdpi/spinner_black_48.png 
platforms/android-7/data/res/drawable-hdpi/spinner_black_76.png 

それがない現在、Androidの公式「アイコンデザインガイドライン」used to explicitly address this situationを行い、コピーをお勧めしますが:

リソースがプラットフォーム間で変更することができますのでAndroidプラットフォームのリソースID(android.R.drawableの下にあるステータスバーのアイコン)を使用して、組み込みのアイコンを参照するべきではありません。任意のアイコンやその他の内部描画可能リソースを使用する場合は、アプリケーションリソースにこれらのアイコンまたは描画可能ファイルのローカルコピーを保存してから、アプリケーションコードからローカルコピーを参照する必要があります。こうすることで、システムのコピーが変更された場合でも、アイコンの外観を制御できます。

関連する問題