5

アプリで ActionBarSherlock を使用しています。ActionBar の MenuItem を無効にすると、携帯電話 (Android 4.0.4 を実行している HTC One X) でアイコンが半透明になりますが、他の携帯電話やエミュレーターではこの動作は見られませんでした。

この動作がネイティブ ActionBar のデフォルトの動作ではないと仮定するのは正しいですか? 私はそのアイデアが好きですが...何らかの理由でMenuItemが有効になっていないことをユーザーに警告します(私の場合、それは保存ボタンであり、少なくとも1つのフィールドが入力されていない場合、ボタンを無効にします)。

私は自分自身に半透明のアイコンを提供し、MenuItem が無効になっているときに手動で設定することを考えていました。これは、ネイティブ ActionBar であるかどうかにかかわらず、すべての Android バージョンで機能します。問題は、私の電話 (または同じ動作をする他の電話) では、2 倍の半透明になることです。

どうすればこの効果を適切に達成できるかについてのアイデアはありますか?

4

2 に答える 2

1

問題はテーマにあると思います。デフォルトのテーマを適用しています。したがって、HTC はデフォルトのテーマ リソースをオーバーライドします。カスタム テーマを作成し、item_background を SDK リソースのデフォルトのものに変更する必要があると思います。

<item name="selectableItemBackground">@android:drawable/item_background</item>
于 2012-12-12T12:55:11.887 に答える
0

テーマから独立した背景を設定する必要があります。.xml ファイルでは、次のように設定できます。

android:background="?android:attr/listSelector"

色が必要なビューで。

于 2012-12-15T06:46:02.833 に答える