Tôi có một GridView và tôi muốn tạo ra một hộp thoại, trong đó hình ảnh mà tôi đã chọn sẽ hiển thị trên toàn màn hình.
vậy làm thế nào tôi có thể làm cho hộp thoại hiển thị ở chế độ toàn màn hình? cảm ơn!
Tôi có một GridView và tôi muốn tạo ra một hộp thoại, trong đó hình ảnh mà tôi đã chọn sẽ hiển thị trên toàn màn hình.
vậy làm thế nào tôi có thể làm cho hộp thoại hiển thị ở chế độ toàn màn hình? cảm ơn!
Câu trả lời:
thử
Dialog dialog=new Dialog(this,android.R.style.Theme.Black.NoTitleBar.Fullscreen)
Call requires API level 11
DialogFragment
), tôi thấy màu thanh trạng thái bị hủy bởi hộp thoại, toàn bộ màn hình là màu nền của hộp thoại. Có ai biết một cách giải quyết? Tôi đã thử thiết lập trạng tháiBarColor của cửa sổ hộp thoại, không có hiệu lực. PS: màu thanh điều hướng cũng bị giết.
dựa trên liên kết này , câu trả lời đúng (mà tôi đã tự kiểm tra) là:
Đặt mã này vào hàm tạo hoặc onCreate()
phương thức của hộp thoại:
getWindow().setLayout(WindowManager.LayoutParams.MATCH_PARENT,
WindowManager.LayoutParams.MATCH_PARENT);
Ngoài ra, đặt kiểu của hộp thoại thành:
<style name="full_screen_dialog">
<item name="android:windowFrame">@null</item>
<item name="android:windowIsFloating">true</item>
<item name="android:windowContentOverlay">@null</item>
<item name="android:windowAnimationStyle">@android:style/Animation.Dialog</item>
<item name="android:windowSoftInputMode">stateUnspecified|adjustPan</item>
</style>
điều này có thể đạt được thông qua các hàm tạo, ví dụ:
public FullScreenDialog(Context context)
{
super(context, R.style.full_screen_dialog);
...
EDIT: một thay thế cho tất cả những điều trên sẽ là đặt kiểu cho android.R.style.Theme và đó là nó.
Cách dễ nhất tôi tìm thấy
Dialog dialog=new Dialog(this,android.R.style.Theme_Black_NoTitleBar_Fullscreen);
dialog.setContentView(R.layout.frame_help);
dialog.show();
EDIT Cho đến khi StackOverflow cho phép chúng tôi phiên bản câu trả lời của mình, đây là câu trả lời hoạt động cho Android 3 trở xuống. Vui lòng không tải xuống vì hiện tại nó không hoạt động, vì nó chắc chắn hoạt động với các phiên bản Android cũ hơn.
Bạn chỉ cần thêm một dòng vào onCreateDialog()
phương thức của mình :
@Override
protected Dialog onCreateDialog(int id) {
//all other dialog stuff (which dialog to display)
//this line is what you need:
dialog.getWindow().setFlags(LayoutParams.FLAG_FULLSCREEN, LayoutParams.FLAG_FULLSCREEN);
return dialog;
}
FLAG_FULLSCREEN cannot be resolved or is not a field
dialog = new Dialog(getActivity(),android.R.style.Theme_Translucent_NoTitleBar);
dialog.requestWindowFeature(Window.FEATURE_NO_TITLE);
dialog.setContentView(R.layout.loading_screen);
Window window = dialog.getWindow();
WindowManager.LayoutParams wlp = window.getAttributes();
wlp.gravity = Gravity.CENTER;
wlp.flags &= ~WindowManager.LayoutParams.FLAG_BLUR_BEHIND;
window.setAttributes(wlp);
dialog.getWindow().setLayout(LayoutParams.MATCH_PARENT, LayoutParams.MATCH_PARENT);
dialog.show();
thử cái này.
Dialog
, tại sao không sử dụng mặc địnhACTION_VIEW
Intent
cho các tệp hình ảnh?