5

TextViewをカスタムダイアログボックスに配置すると、テキストはデフォルトで黒になります。カスタムサポートダイアログフラグメントテキストが間違った色です

残念ながら、サポートフラグメントダイアログの背景は濃い灰色です。グレーの黒は読みにくいです。

TextViewを白またはandroid:textColor="?android:attr/textColorPrimaryInverseDisableOnly"のように変更できます。 しかし、新しいアンドロイド(ホロライト)のダイアログボックスは白です。だから白い白です。

古いバージョンのAndroidでは強制的に白くし、新しいバージョンのAndroidでは強制的に黒色にするようなハックを使用できますが、もっと洗練されたソリューションを見つけることができます。

TextViewを変更する方法はありますか?通常、サポートに貼られているのと同じテキストを模倣するDialogFragment?私はAction Bar Sherlockを使用しています。

答えて

0

ActionBarSherlockを使用している場合は、古いデバイスもサポートしていると思います。悲しいことに、古い携帯電話はHolo Dialogを表示せず、古い醜いDialogだけを表示します(多くの携帯電話では、メーカーによって大きくカスタマイズされます)。したがって、あなたのダイアログが軽いと仮定することはできません。

あなたが行うことができる唯一の2つのことがあります:

  • があるとしてそれを残すと、システムがあなたのダイアログにカスタムビューを設定して、あなたのダイアログ
  • のスタイルを処理してみましょう。ここで確認してください: DialogFragment : Using AlertDialog with custom layout
+0

私は既にカスタムダイアログを使用しています。それは退屈な古い互換性ダイアログでうまく見えますが、カスタムダイアログでは間違っています。背景を変更することは可能ですが、既存のダイアログをすべて切り替えてカスタム背景を設定する必要があります。 – Muz

3

を事前ハニカムデバイスと新しいものに私の場合、正常に動作

この

alertDialogBuilder.setInverseBackgroundForced(true) 
を試してみてください。タイトルはまだ暗い色で表示されますが、主要なテキストはすべてのデバイスではっきりと読み取れるようになっています。

+0

この質問は、ずいぶん前のことであり、私が実際にやったことを本当に思い出すことができません。だから私はこの答えをテストすることができますしばらくするかもしれません:) – Muz

+0

ありがとう!これは私のために働く。 –

+0

これは私のために働く。この機能は古いデバイスの背景色を反転させ、新しいデバイスには影響しません。 –

関連する問題