1

バージョン 2.1 および現在利用可能なものまでをサポートするアプリを作成しています。ここで、作成中の ActionBar を設計するときに、ユーザーの現在のテーマや Android バージョンで利用可能なドローアブルを利用したいと考えています。

Android が提供するすべてのバージョンで有効になっているドローアブルは、非常に鮮明で曖昧さがなく、私のニーズにぴったりです。問題。たとえば、プロジェクト全体で XML ファイルの @android:drawable/ic_menu_refesh にアクセスできません。もちろん、特定のAndroidバージョンからアイコンをコピーしてそれらを使用する可能性がありますが、すべてのビルドからアイコンのすべてのバージョンをコピーし、Androidのバージョンを追跡しなければ、これを正常に機能させる方法が実際にはわかりません現在実行中であり、適切なドローアブルを参照します。

別の問題として、Sense などのテーマ (?) がさらに難しくなっています。私のアプリでは、デバイスの現在のテーマを使用したいと思います。私の場合、Dark Holo テーマを使用する ICS デバイスと、デフォルト テーマを使用する 2.3.6 デバイスがあります。このような場合、これは ActionBar/メニューに適した明るい色のドローアブルを選択することを意味します。問題。私の HTC Sensation S の Sense では、メニュー項目の背景色は白です。つまり、適切な暗いアイコンを選択する必要があります。

デバイスの現在のテーマを使用し、テーマのルック アンド フィールに合うように適応可能なドローアブルを提供するにはどうすればよいでしょうか?

4

2 に答える 2

1

私が正しく理解している場合は、デフォルトのアイコンを参照するだけで、「メニュー更新アイコン」と言って、システムアプリと同じように表示できるようにしたいと考えています。これを行う方法はわかりません。デフォルトのドローアブルを参照しないように警告する Android のドキュメントを読んだことを思い出してください。これらのアイコンは、Android の将来のバージョンで変更される可能性があり、アプリが意図したとおりに表示されない可能性があります。

通常、メニュー項目/アクションバー項目/通知などごとに独自のアイコンを作成する必要があります。さまざまなシステム テーマ用のカスタムおよびデフォルトの Android アイコンを作成できるシンプルなツールがあります。フォルダーでリソース識別子を使用resして、異なる API バージョン/レイアウト/密度などに異なるアイコンを使用できます。

http://android-ui-utils.googlecode.com/hg/asset-studio/dist/index.html

アイコンを灰色に設定している理由がわかりません...アプリがテーマを設定していること、必要なシステムテーマを選択できること、またはシステムテーマから拡張されたカスタムテーマを使用できることを忘れていると思います。ダークまたはライトのどちらを選択しても、設定したテーマのアイコンのみが必要です。ここでの唯一のキッカーは、異なるさまざまな API バージョン (つまり、メニュー アイコン 2.2 対 2.3 対 3.0+) のアイコンがあることを確認することです。必要なのは、各 API バージョンを作成し、リソース識別子を使用して、アプリが確実に適切なもの。

アプリが複数のテーマをサポートしている場合は、テーマごとに異なるアイコンを使用できます。同様の質問に対する私の回答で、その方法を参照してください。

スタイルに応じて ActionBar メニューのアイコンを変更する

于 2013-01-30T16:58:09.370 に答える
0

私がこれを機能させる唯一の方法は、Android で提供したいアイコンをコピーし、中間の灰色の色合いに色を変更することでした。あまり理想的な解決策ではありませんが、そうする必要があります。

于 2012-12-03T20:41:44.067 に答える