0

次のコードを使用して、TextViewをDialogに追加しています。

TextView alertView=new TextView(this);
alertView.setTextAppearance(this, android.R.style.TextAppearance_Medium);
alertView.setPadding(7, 7, 7, 7);
alertView.setText(Html.fromHtml(alertText));

Dialog dialog=new Dialog(this);
dialog.requestWindowFeature(Window.FEATURE_NO_TITLE);
dialog.setContentView(alertView);
dialog.getWindow().setLayout(LayoutParams.MATCH_PARENT, LayoutParams.WRAP_CONTENT);
dialog.show();

Android 4.0では、問題ないように見えます。ただし、Android 2.1では、Dialogの背景は黒で、TextViewのテキストも黒です。それを修正する方法は?

4

4 に答える 4

2

の全体的なスタイルを設定するDialogには、リソースでスタイルを定義します。

例えば:

<style name="MyDialog">
    <item name="android:windowNoTitle">false</item>
    <item name="android:windowFrame">@null</item>
    <item name="android:windowIsFloating">true</item>
    <item name="android:windowContentOverlay">@null</item>

    <item name="android:windowAnimationStyle">@android:style/Animation.Dialog</item>
    <item name="android:windowSoftInputMode">stateUnspecified|adjustPan</item>

    <item name="android:windowBackground">@android:drawable/alert_light_frame</item>
</style>

次に、以下のようにダイアログに設定します。

Dialog dialog=new Dialog(this, R.style.MyDialog);
于 2013-02-25T13:58:18.327 に答える
1

問題は、 TextView がダイアログのテーマではなくアクティビティのテーマを使用していることです。

ダイアログのコンテキストを TextView のコンストラクターに渡す必要があります。

Dialog dialog=new Dialog(this);
dialog.requestWindowFeature(Window.FEATURE_NO_TITLE);
dialog.getWindow().setLayout(LayoutParams.MATCH_PARENT, LayoutParams.WRAP_CONTENT);

TextView alertView=new TextView( dialog.getContext() );
alertView.setTextAppearance(これ、android.R.style.TextAppearance_Medium);
alertView.setPadding(7, 7, 7, 7);
alertView.setText(Html.fromHtml(alertText));

dialog.setContentView(alertView);
dialog.show();
于 2015-10-10T03:25:59.720 に答える
0

テキストビューの色を白に変更できる場合は、すべてのバージョンで問題ありません。黒が必要な場合は、テキストビューの背景色を白に変更してください。

1.alertView.setTextColor(Color.WHITE);
2.alertView.setBackgroundColor(Color.white);
于 2013-02-25T13:59:50.557 に答える
0

カスタムダイアログを作成する必要があると思います。http://developer.android.com/guide/topics/ui/dialogs.html。カスタム ダイアログの例を次に示します。http://www.mkyong.com/android/android-custom-dialog-example/

于 2013-02-25T13:58:29.647 に答える