1. 程式人生 > >動態設定titleBar的高度

動態設定titleBar的高度

在專案中有時候我們設定固定的標題欄高度,但是在有EditText輸入時彈出軟鍵盤輸入框會將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需要實現的程式碼:
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);
}