我正在使用Android支持包。
我创建了一个对话框:
Dialog dialog = new Dialog(activity, android.R.style.Theme_Translucent_NoTitleBar_Fullscreen);
由于我希望对话框以全屏显示,所以我将主题Theme_Translucent_NoTitleBar_Fullscreen
应用于它&它是有效的。
我有以下两个问题:
我希望我的对话框仍然像全屏一样显示,但不让顶部的ActionBar被它覆盖,那么我应该使用什么主题?
如何使用灰色覆盖来显示对话框覆盖的视图(假设我的第一个问题已经解决)?
- 我找到的唯一可行的解决方案是实现基于片段的伪对话框
- 这种方法可能会给阴影处理带来一些困难。至少,我没有那样做
代码示例如何做(1):
public class MyDialog extends Fragment {
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
// ... your code
}
public void show(FragmentManager fragmentManager) {
FragmentTransaction ft = fragmentManager.beginTransaction();
String tag = MyDialog.class.getName();
ft.add(android.R.id.content, this, tag);
ft.commit();
}
private void dismiss() {
FragmentTransaction ft = getFragmentManager().beginTransaction();
ft.remove(this);
ft.commit();
}
}