我是Xamarin的新手。我正在用Xamarin创建一个简单的应用程序。我的布局中有一个表格视图。表视图的每一行都显示一个模态窗口。例如,第一行用于获取用户的全名。我想在给定的图中显示所示的模态窗口(右侧)。
我创建了一个与下面给出的相同的布局
<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()
设置布局,但是当我想在同一个屏幕上显示模态窗口时,它会打开一个新窗口。
有人可以帮助我实现这个目标吗?
答案 0 :(得分:15)
使用AlertDialog
。
在点击事件中,请尝试以下操作:
var alert = new AlertDialog.Builder(this);
alert.SetView(LayoutInflater.Inflate(Resource.Layout.Modal, null));
alert.Create().Show();
要从AlertDialog
获取值,您可以在对话框中保留对EditText
的引用。然后,在“保存”按钮单击事件中,只需调用EditText.Text
即可获取值。