3

以下を含むrelativelayoutにレイアウトが設定されたカスタムDialogPreference Dialogがあります。

  • チェックボックス
  • テキストビュー
  • テキストフィールド

これは Android 4.0 以降では問題ありません。使用しているテーマは Theme.Light であるため、ダイアログの背景色は白で、チェックボックス ラベルとテキストビューのデフォルト テキストは黒です。ただし、2.3.3 では背景色が暗い灰色になっているため、テキストが見にくくなります... ただし、テーマは引き続き Theme.Light です。

チェックボックスがテキストフィールドを有効/無効にするため、これにはカスタムダイアログを作成する必要があると思いました。現時点では、このダイアログの相対レイアウトの背景色を白にしています...しかし、2.3.3 の他の携帯電話のデフォルト ダイアログが白でない場合があるため、この解決策はあまり好きではありません。バックグラウンド...

この問題を解決するよりクリーンな方法はありますか?

この人にも同じ問題があることに気付きました: Custom Support Dialog Fragment text is the wrong color

別の問題: Android: Theme.Light アクティビティからのダイアログの表示に関する問題

編集:添付のスクリーンショット。これは、2.3.3 を実行している LG Optimus 2X でどのように見えるかです。2.3.3 を実行している同僚の samsung galaxy では、背景がさらに暗いため、テキストがほとんど見えません。

ここに画像の説明を入力

4

1 に答える 1

0

次のようなスタイル ファイルでカスタム ダイアログ テーマを作成できます。

less than API 11:

<style name="MyDialogTheme" parent="android:Theme.Light" >

API 11 and forward:

<style name="MyDialogTheme" parent="android:Theme.Holo.Dialog" >

次に、フラグメントダイアログで「MyDialogTheme」を使用します。

... ...
ContextThemeWrapper context = new ContextThemeWrapper(getActivity(), R.style.MyDialogTheme);
AlertDialog.Builder builder = new AlertDialog.Builder(context);
... ...

この助けを願っています。

于 2014-07-01T09:05:18.567 に答える