我的应用程序应该在主活动中有一个按钮,按下时应显示一个自定义对话框,该对话框将用作用户的注册表单。问题是,当我删除自定义对话框窗口的标题栏水平折叠时。有关如何解决此问题的任何建议?使用片段作为注册的想法是一个好的吗? TIA
这是要说明的图像
以下是标题栏的内容
以下是主要活动的代码
protected override void OnCreate(Bundle bundle)
{
base.OnCreate(bundle);
// Set our view from the "main" layout resource
SetContentView(Resource.Layout.Main);
mbtnfragment = FindViewById<Button>(Resource.Id.MyButton);
mbtnfragment.Click += mbtnfragment_Click;
}
void mbtnfragment_Click(object sender, EventArgs e)
{
FragmentTransaction transaction = FragmentManager.BeginTransaction();
create_dialog dialog = new create_dialog();
dialog.Show(transaction, "Fragment Dialog");
Console.WriteLine("Fragment created");
}
create_dialog类的代码
class create_dialog: DialogFragment
{
public override View OnCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstancesState)
{
base.OnCreateView(inflater, container, savedInstancesState);
var view = inflater.Inflate(Resource.Layout.fragment_dialog, container, false);
return view;
}
public override void OnActivityCreated(Bundle savedInstanceState)
{
Dialog.Window.RequestFeature(WindowFeatures.NoTitle);
base.OnActivityCreated(savedInstanceState);
}
}
}
答案 0 :(得分:2)
将fragment_dialog布局的宽度从wrap_content
更改为match_parent
或定义的大小
答案 1 :(得分:1)
您可以为自定义对话框设置没有标题的样式
@Override
public void onCreateDialog(Bundle savedInstanceState) {
setStyle(STYLE_NO_TITLE, 0);
}
或者您可以在第二个参数中设置主题,如Theme.AppCompat.Dialog ...