Android中的TollBar随着listview滑动透明度渐变

现在好多应用都采用了toolbar随着listview滑动透明度渐变的做法。那么,我们怎么实现toolBar滑动渐变呢?其实,toolbar就与一般的控件一样。在这里,就列举一种很简单的方法。
 public void toolBarAlpha() {
        int startOffset = 0;
        int endOffset = getActivity().getResources().getDimensionPixelOffset(R.dimen.head);
        int[] location = new int[2];
        view.getLocationOnScreen(location);
        int y = location[1] - getNotificationHigh();
        if (Math.abs(y) <= startOffset) {
            llTool.getBackground().mutate().setAlpha(0);
        } else if (Math.abs(y) > startOffset && Math.abs(y) < endOffset) {
            float precent = (float) (Math.abs(y) - startOffset) / endOffset;
            int alpha = Math.round(precent * 255);
            llTool.getBackground().mutate().setAlpha(alpha);
        } else if (Math.abs(y) >= endOffset) {
            llTool.getBackground().mutate().setAlpha(255);
        }
    }

首先在oncreat方法中设置llTool.getBackground().mutate().setAlpha(0)这样刚进入的时候为全透明状态;

 
在这个方法中, 

getNotificationHigh()是自定义的获取状态栏的高度。

R.dimen.head定义一个高度。使得toolbar在startOffset与endoffset这个高度区间内
 根据view所在坐标的变化而变化。

只要在listview的onScroll方法中调用就可以实现透明度渐变的效果

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值