浅谈屏幕适配之measure(下)——状态栏和标题栏相关操作

本文继续探讨Android屏幕适配,重点在于如何处理状态栏和标题栏的高度。介绍了如何去除标题栏和状态栏,以及通过不同方法获取它们的高度,包括利用`onWindowFocusChanged()`方法和反射获取`R`类资源标识。这些技巧对于精确适配屏幕布局至关重要。
摘要由CSDN通过智能技术生成

上一篇博文里给自己挖了一个坑,今天把这个坑埋了。之前说listView的高度=屏幕高度-标题栏和状态栏高度-titleBar高度-bottomTab高度,titleBar和bottomTab都是自己画的View,这个不难理解,那么标题栏和状态栏是哪一块呢?见下图:


标题栏和状态栏是android默认给出的两栏,每个应用新建的时候都会出现,如果要去掉这两栏,可以在Activity的setContentView之前写两行代码:

this.requestWindowFeature(Window.FEATURE_NO_TITLE);//去掉标题栏
this.getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN,  
WindowManager.LayoutParams.FLAG_FULLSCREEN);//去掉
状态栏 

如果不去掉这两栏,而是要获取两栏的高度,以此来更好的进行屏幕的适配,一般网上给出的下述的方法:

public class MainActivity extends Activity {
	private int topHeight;
	private int titleHeight;
	private int statusHeight;

	@Override
	protected void onCreate(Bundle savedInstanceState) {
		super.onCreate(savedInstanceState);
		setContentView(R.layout.activity_main);
		getHeight();
	}

	private void getHeight() {
		// 状态栏+标题栏总高度
		topHeight = getWindow().findViewById(Window.I
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值