動態設定titleBar的高度
阿新 • • 發佈:2019-01-29
在專案中有時候我們設定固定的標題欄高度,但是在有EditText輸入時彈出軟鍵盤輸入框會將titlebar壓縮,所以我們需要動態設定titlebar的高度:
在程式碼中需要動態設定titlebar需要實現的程式碼:<resources xmlns:android="http://schemas.android.com/apk/res/android"> <style name="CustomWindowTitleBackground"> <item name="android:background">#565656</item> </style> <style name="test" parent="android:Theme"> <!--titlebar的高度設定--> <item name="android:windowTitleSize">50dp</item> <!--titlebar背景顏色設定--> <item name="android:windowTitleBackgroundStyle">@style/CustomWindowTitleBackground</item> </style> </resources>
TitleBar titelbar=(RelativeLayout)findViewById(R.id.titlebar_rl); //動態設定titlebar的高度 LayoutParams titleBarParams=titlebar.getLayoutParams(); int titleBarHeight=DisplaySizeUtils.getDisPlayPXHeight(this)*7/89//此處根據自己的需要填寫演算法,不填寫預設為48dp int titleBarWidth=DisplaySizeUtils.getDisPlayPXWidth(this); if(titleBarParams == null){ titleBarParams=new RelativeLayout.LayoutParams(titleBarWidth,titleBarHeight); titlebar.setLayoutParams(titleBarParams); }else{ titleBarParams.height=titleBarHeight; titleBarParams.width=titleBarWidth; titleBar.setLayoutParams(titleBarParams); }