Android 动态更改View尺寸后,没有变,达不到想要的效果

一、场景: TabLayout + ViewPage. 使用NestedScrollView嵌套,滑动的时候Tab会被顶上去

二、达到效果的做法:

  1.  NestedScrollView 
    app:layout_behavior="@string/appbar_scrolling_view_behavior"
  2. 包裹的LinerLayout增加 (共有三个属性,自行查询) 
    android:descendantFocusability="afterDescendants"
  3. TabLayout+ViewPager父布局设置高度为,当前剩余屏幕的高度

三、 问题:二中第三条,设置完未生效

设置为在初始在屏幕内,则获取当前tab的位置,用屏幕高度- 当前位置y,就是TabLayout+ViewPager父布局的高度;不在初始屏幕内,让滑动到tabLayout时,在顶部不往上滑动,此时就是 屏幕高度-状态栏高度-标题栏高度;

但设置完成后,初始高度设置过高时,显示还是多余出一截; 初始高度设置过低时,显示还是最低的那个高度。

四、解决:

        上述描述,经过打印,高度设置成功,但是一打印,其父布局高度是-2,没有变化,还是初始化的高度,由此就是父布局的问题了。所以找到父布局,然后去设置高度并刷新,完成。

五、代码

/**
 * 动态刷新ListView的高度,分两种
 *
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值