titleBar의 높이를 동적으로 설정합니다.

1384 단어
프로젝트에서 때때로 우리는 고정된 제목 표시줄 높이를 설정하지만, EditText 입력이 있을 때 소프트 키보드 입력 상자를 꺼내면 titlebar를 압축하기 때문에, 우리는 동적으로 titlebar의 높이를 설정해야 한다.
4
<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);
}

좋은 웹페이지 즐겨찾기