我正在使用 DialogFragment 并想知道是否有一种简单的方法可以指定对话框以在普通/小尺寸设备(电话)上使用全屏。我想要实现的示例是在您选择安装应用程序后在 Google Play 上显示的确认/许可对话框。
问问题
4861 次
3 回答
6
如果您想用 DialogFragment 填充屏幕,您只需更改主题即可。用于全屏 android.R.style.Theme_Holo_Light 和非全屏对话框使用 android.R.style.Theme_Holo_Light_Dialog;
在调用中使用这些值:
setStyle(DialogFragment.STYLE_NO_TITLE, android.R.style.Theme_Holo_Dialog); // 举个例子
我在 onCreate() 结束时调用此方法。
希望这有助于贾斯珀
于 2012-08-10T19:50:43.627 回答
2
在平板电脑中,以正常方式显示对话框。
DialogFragment newFragment = MyDialogFragment.newInstance();
newFragment.show(getFragmentManager(), "dialog");
在 Phone 中,将 DialogFragment 作为 Activity 的 onCreate() 中的普通片段添加到布局中。
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
if (savedInstanceState == null) {
FragmentTransaction ft = getFragmentManager().beginTransaction();
DialogFragment newFragment = MyDialogFragment.newInstance();
ft.add(R.id.embedded, newFragment);
ft.commit();
}
activity_main.xml
<?xml version="1.0" encoding="utf-8"?>
<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/embedded"
android:layout_width="match_parent"
android:layout_height="match_parent">
</FrameLayout>
注意: <Fragment>Tag 嵌入的片段不起作用。
于 2012-07-23T19:25:37.477 回答
0
有相同的问题(带有确切的图表!)和答案(由提出问题的人提出。)利用资源文件夹分类,答案也是有效的。对话框片段嵌入取决于设备
于 2012-12-08T22:18:18.507 回答