我正在使用Mono Android(Xamarin);我向你表明我用我的应用程序来创建一个片段一个对话框另一种选择:
Dialog itemDialog = new Dialog(this.Activity);
TextView alertTitle=(TextView)itemDialog.Window.DecorView.FindViewById(Android.Resource.Id.Title);
alertTitle.SetTextColor(Android.Graphics.Color.Blue);
alertTitle.SetBackgroundColor(Android.Graphics.Color.Orange);
itemDialog.SetContentView(Resource.Layout.listview_custom_dialog);
string[] options = new string[] { "Open", "Mark as Unread","Mute","View
Profile","Block Connection","Delete Conversation" };
ArrayAdapter<string> adapter = new ArrayAdapter<string>(this.Activity,
Resource.Layout.listitem_custom_dialog,Resource.Id.textViewDialogDescription,
options);
Resource.Layout.listitem_custom_dialog:这是自定义列表视图的布局,这里是XML文件:
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="@android:color/transparent" >
<TextView
android:id="@+id/textViewDialogDescription"
android:layout_width="match_parent"
android:layout_height="44dp"
android:background="#ffffff"
android:textColor="#386B96"
android:paddingLeft="4dp"
android:textSize="14dp" />
</RelativeLayout>
ListView lv = itemDialog.FindViewById<ListView>
(Resource.Id.listViewDialogItems);
lv.Adapter = adapter;
adapter.NotifyDataSetChanged();
itemDialog.SetCancelable(true);
itemDialog.SetTitle("Conversation");
itemDialog.Show();
Android.Resource.Id.Title:这是包含对话标题的textview的id。它是由android预定义的。 这样你会得到一个对话框,你可以按你想要的样式进行设计。
嗨,感谢您的回复。 Alert.Builder如何显示不同的用户界面? AlertDialog.Builder testBuilder; testBuilder = new AlertDialog.Builder(this,R.style.cust_dialog); \t testBuilder。的setView(布局); 我使用的是父主题Theme.Holo.Light.Dialog。 另外,当我使用Alertdialog.Builder时,对话框被包装在一个对话框中。有谁知道为什么? – CLDev 2012-02-16 15:25:01