1

このコードを使用して、ネットワークエラーでAlertDialogを表示しています。

var builder = new AlertDialog.Builder(this);
builder.SetMessage(error);

builder.SetCancelable(false);
builder.SetPositiveButton("OK", delegate { });
builder.Show();

ただし、次のようになります。

ここに画像の説明を入力してください

問題:

  1. 現在のビューはalertdialogの後ろに表示されず、ただ白です。
  2. 中央ではなく、上に揃えました
  3. テーマやフォントの色が間違っているため、テキストが読みにくくなっています。

アクティビティのテーマとしてTheme.DeviceDefault.Lightを使用しています。

[Activity (Label = "xxx", Theme = "@style/MyAppTheme", MainLauncher = true)]

..。

<?xml version="1.0" encoding="utf-8"?>
<resources>
   <style name="MyAppTheme" parent="@android:style/Theme.DeviceDefault.Light">
   </style>
</resources>

これを修正する方法は?MyAppThemeをの2番目の引数として挿入しようとしましAlertDialog.Builder(this, Resource.Style.MyAppTheme)たが、UIは変更されていません。

4

1 に答える 1

0

解決しました。使用済み

var builder = new AlertDialog.Builder(this, Android.App.AlertDialog.ThemeHoloLight);

そしてそれは良く見えます。また、Activity.ShowDialog()を使用して、AlertDialogコードを内部に配置しました

protected override Dialog OnCreateDialog(int id, Bundle args)

違いがあったかどうかはわかりません。

良いブログ投稿:http://blog.ostebaronen.dk/2013/02/using-dialogs-in-mono-for-android.html

于 2013-02-27T11:45:25.310 に答える