在Xamarin中显示模态窗口

时间:2013-10-09 17:21:44

标签: c# xamarin.android modal-dialog xamarin

我是Xamarin的新手。我正在用Xamarin创建一个简单的应用程序。我的布局中有一个表格视图。表视图的每一行都显示一个模态窗口。例如,第一行用于获取用户的全名。我想在给定的图中显示所示的模态窗口(右侧)。 Question

我创建了一个与下面给出的相同的布局

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:orientation="vertical"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:background="#ffffff"
    android:minWidth="25px"
    android:minHeight="25px">
    <EditText
        android:inputType="textPersonName"
        android:layout_width="200dp"
        android:layout_height="55px"
        android:id="@+id/txtFirstName"
        android:ellipsize="none"
        android:gravity="fill_horizontal"
        android:hint="First Name"
        android:height="55dp"
        android:layout_marginTop="100dp"
        android:layout_gravity="center_horizontal"
        android:textColor="#000000" />
    <EditText
        android:inputType="textPersonName"
        android:layout_width="200dp"
        android:layout_height="55px"
        android:id="@+id/txtLastName"
        android:ellipsize="none"
        android:gravity="fill_horizontal"
        android:hint="Last Name"
        android:height="55dp"
        android:layout_marginTop="25dp"
        android:layout_gravity="center_horizontal"
        android:textColor="#000000" />
    <RelativeLayout
        android:orientation="vertical"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:background="#ffffff"
        android:minWidth="25px"
        android:minHeight="25px"
        android:layout_marginTop="25dp">
        <Button
            android:text="Save"
            android:layout_width="100dp"
            android:layout_height="55px"
            android:id="@+id/btnSave"
            android:gravity="center"
            android:layout_gravity="center_horizontal"
            android:layout_marginTop="0dp"
            android:textColor="#000"
            android:layout_marginLeft="165dp" />
    </RelativeLayout>
</LinearLayout>

我的代码显示弹出窗口

tblrName.Click += delegate
{
    //Want to display the modal window here.
};

我尝试使用setContentView()设置布局,但是当我想在同一个屏幕上显示模态窗口时,它会打开一个新窗口。

有人可以帮助我实现这个目标吗?

1 个答案:

答案 0 :(得分:15)

使用AlertDialog

在点击事件中,请尝试以下操作:

var alert = new AlertDialog.Builder(this);
alert.SetView(LayoutInflater.Inflate(Resource.Layout.Modal, null));
alert.Create().Show();

要从AlertDialog获取值,您可以在对话框中保留对EditText 的引用。然后,在“保存”按钮单击事件中,只需调用EditText.Text即可获取值。