Android获取状态栏高度,动态设置控件高度

1、获取状态栏高度

//获取status_bar_height资源的ID
int resourceId = getResources().getIdentifier("status_bar_height", "dimen", "android");
if (resourceId > 0) {
    //根据资源ID获取响应的尺寸值
    int statusBarHeight = getResources().getDimensionPixelSize(resourceId);
    SPUtils.putInt(Constant.STATUSBAR_HEIGHT,statusBarHeight);
}

2、动态设置控件高度 

int statusBarHeight = SPUtils.getInt(Constant.STATUSBAR_HEIGHT, 0);
if (statusBarHeight > 0) {
    LinearLayout.LayoutParams sp_params = new LinearLayout.LayoutParams(
            RelativeLayout.LayoutParams.MATCH_PARENT,
            RelativeLayout.LayoutParams.WRAP_CONTENT);
    sp_params.height = statusBarHeight;
    mvView.setLayoutParams(sp_params);
}

3、务必保持一致 ( LinearLayout. LinearLayout.LayoutParams 与需要设置的控件父控件)

LinearLayout.LayoutParams
<LinearLayout
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical">

    <View
        android:id="@+id/mv_view"
        android:layout_width="match_parent"
        android:layout_height="@dimen/statusbar_height"
        android:background="@color/colorTheme"
            android:visibility="visible" />
    </LinearLayout>
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

帅次

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值