6

我正在使用Android 支持包

我创建了一个对话框:

Dialog dialog = new Dialog(activity, android.R.style.Theme_Translucent_NoTitleBar_Fullscreen);

因为我希望全屏显示对话框,所以我将主题应用Theme_Translucent_NoTitleBar_Fullscreen到它并且它可以工作。

我有以下两个问题:

  1. 我希望我的对话框仍然像全屏一样显示,但顶部的ActionBar不会被它覆盖,那么我应该使用什么主题?

  2. 如何让灰色叠加层也显示对话框覆盖的视图(假设我的第一个问题已经解决)?

4

1 回答 1

2
  1. 我找到的唯一可行的解​​决方案是实现基于片段的伪对话框。
  2. 这种方法可能会导致做影子的一些困难。至少,我没有那样做。

代码示例怎么做(一):

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();
}
}
于 2012-12-06T18:48:32.760 回答