动态设置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);
}




你可能感兴趣的:(动态设置titleBar的高度)