我知道如何显示全屏活动,但它在片段活动中不起作用?
public class Dialog extends Fragment {
public Dialog() {
// Required empty public constructor
}
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
return inflater.inflate(R.layout.dialog, container, false);
}
}
答案 0 :(得分:1)
尝试使用DialogFragment
:
public class FullScreenDialogFragment extends DialogFragment {
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
return inflater.inflate(R.layout.dialog, container, false);
}
@Override
public Dialog onCreateDialog(Bundle savedInstanceState) {
Dialog dialog = super.onCreateDialog(savedInstanceState);
dialog.getWindow().requestFeature(Window.FEATURE_NO_TITLE);
return dialog;
}
@Override
public void onStart() {
super.onStart();
Dialog dialog = getDialog();
if (dialog != null) {
dialog.getWindow().setLayout(ViewGroup.LayoutParams.MATCH_PARENT, ViewGroup.LayoutParams.MATCH_PARENT);
dialog.getWindow().setBackgroundDrawable(new ColorDrawable(Color.TRANSPARENT));
}
}
}
答案 1 :(得分:0)
在您的问题中,您已询问如何显示全屏片段活动?
如果您知道如何制作全屏活动。您必须以相同的方式使FragmentActivity
全屏显示。因为FragmentActivity
是Activity
的子类。
↳ android.app.Activity
↳ android.support.v4.app.FragmentActivity
同样在您的问题中,您所包含的课程为Fragment
,而不是FragmnetActivity
。
如果您需要全屏制作片段,则必须全屏显示您的托管活动。
使用getActivity()
方法从片段中获取托管活动。然后你可以使片段全屏。
答案 2 :(得分:0)
@shmakova的回答对我有用,但后来我的同事指出了一个更简单的解决方案。将对话框的样式从样式继承就足够了,样式的名称以NoTitleBar.Fullscreen
结尾并添加windowNoTitle
元素。例如:
在我的对话中:
@Override
public Dialog onCreateDialog(Bundle savedInstanceState) {
return new AppCompatDialog(getActivity(), R.style.MyDialogStyle);
}
src/main/res/values/styles.xml
中的:
<style name="MyDialogStyle" parent="@android:style/Theme.Light.NoTitleBar.Fullscreen">
<item name="windowNoTitle">true</item>
</style>
此类方法有以下几个优点:您不必覆盖onCreateDialog
,并且可以拥有多个styles.xml
个实例,具体取决于设备功能。例如,您可以仅在较小的屏幕上将对话框扩展为全屏。
答案 3 :(得分:0)
尝试此解决方案
public class setWallpaperFragment extends DialogFragment {
public setWallpaperFragment() {
// Required empty public constructor
}
@Override
public void onCreate(@Nullable Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
int theme = android.R.style.Theme_Black_NoTitleBar_Fullscreen;
setStyle(DialogFragment.STYLE_NO_TITLE,theme);
}