5

Tôi đang làm việc với Android Support package.Hiển thị hộp thoại gần như toàn màn hình trong trường hợp của tôi (Với ActionBar & lớp phủ)

Tôi đã tạo ra một hộp thoại:

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

Vì tôi muốn hiển thị hộp thoại trong một toàn màn hình, vì vậy tôi áp dụng chủ đề Theme_Translucent_NoTitleBar_Fullscreen để nó & nó hoạt động.

Tôi đã sau hai câu hỏi:

  1. Tôi muốn thoại của tôi để hiển thị toàn màn hình như vẫn còn nhưng để lại phía trên ActionBar không được bảo hiểm bởi nó, những gì Theme tôi nên sử dụng sau đó?

  2. Làm cách nào để có lớp phủ màu xám để hiển thị chế độ xem được bao phủ bởi hộp thoại (giả sử qustion thứ nhất của tôi đã được giải quyết)?

+0

Tìm thấy một câu trả lời: http://stackoverflow.com/questions/11425020/actionbar-in-a-dialogfragment –

Trả lời

2
  1. Giải pháp làm việc duy nhất tôi tìm thấy là triển khai hộp thoại giả dựa trên phân đoạn.
  2. Cách tiếp cận này có thể gây ra một số khó khăn khi làm bóng. Ít nhất, tôi không làm thế.

mẫu mã thế nào để làm (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(); 
} 
} 
Các vấn đề liên quan