@Override
public void onConfigurationChanged(@NonNull Configuration newConfig) {
DisplayMetrics displayMetrics = new DisplayMetrics();
getActivity().getWindowManager().getDefaultDisplay().getMetrics(displayMetrics);
// 橫屏時取高度為寬度,高度為為 warp_content
int screenWidth = displayMetrics.widthPixels;
int screenHeight = displayMetrics.heightPixels;
ViewGroup.LayoutParams params = getDialog().getWindow().getAttributes();
if(screenWidth>screenHeight){
params.width = (int)(screenHeight*1.1f);
params.height = (int)(screenHeight*0.9f);
}else{
params.width = (int)(screenWidth*0.8f);
params.height = (int)(screenHeight*0.6f);
}
getDialog().getWindow().setAttributes((WindowManager.LayoutParams) params);
super.onConfigurationChanged(newConfig);
}
@Override
public void onResume() {
DisplayMetrics displayMetrics = new DisplayMetrics();
getActivity().getWindowManager().getDefaultDisplay().getMetrics(displayMetrics);
// 橫屏時取高度為寬度,高度為為 warp_content
int screenWidth = displayMetrics.widthPixels;
int screenHeight = displayMetrics.heightPixels;
ViewGroup.LayoutParams params = getDialog().getWindow().getAttributes();
if(screenWidth>screenHeight){
params.width = (int)(screenHeight*1.1f);
params.height = (int)(screenHeight*0.9f);
}else{
params.width = (int)(screenWidth*0.8f);
params.height = (int)(screenHeight*0.6f);
}
getDialog().getWindow().setAttributes((WindowManager.LayoutParams) params);
super.onResume();
}
DialogFragment 設置橫豎屏各自寬高,且適應屏幕旋轉
?著作權歸作者所有,轉載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。
相關閱讀更多精彩內(nèi)容
- 之前項目中有個關于橫豎屏的需求,原本以為是很簡單的事情,隨便一些就能解決,但結果發(fā)現(xiàn)事實并不是這樣。網(wǎng)上也搜索了很...
- 針對上一版本發(fā)現(xiàn)還有一些問題 針對優(yōu)化處理 一 在APP中所需的設置 1.在配置中關閉屏幕方向 將控制權交給代碼(...
- 前言 現(xiàn)在大部分的智能移動設備通過自動旋轉,能夠自動切換去呈現(xiàn)最適合當前屏幕顯示的內(nèi)容,無疑大大提升了使用者的用戶...
- iOS8之后的屏幕旋轉和iOS6,7有很大不同,項目中自己之前遇到過這樣的需求,從A界面呈現(xiàn)B界面,如果A橫屏則呈...