mScrollView.setOnScrollCallBack(new ScrollViewCallBack() {
@Override
public void onScrollChanged(int to) {
refreshTitleTip(to);
}
});
private void refreshTitleTip(int scrollY) {
//没有置顶项目
if(!hasTopProject()){
//标题栏不透明
alphaTitle(255);
return;
}
if (scrollY == 0) {
alphaTitle(0);
} else if (scrollY >= mTitleTipMaxScroll) {
alphaTitle(255);
} else {
String alphaVal = new BigDecimalBuilder(String.valueOf(scrollY)).multiply("255").divide(String.valueOf(mTitleTipMaxScroll), 0).getValue().toString();
int alpha = (int) Float.parseFloat(alphaVal);
if (alpha < 0) {
alpha = 0;
} else if (alpha > 255) {
alpha = 255;
}
alphaTitle(alpha);
}
}
//改变透明度的控件
View mTitleTip = parentLayout.findViewById(R.id.llayout_title_top);
private void alphaTitle(int alpha){
ColorDrawable drawable = (ColorDrawable)mTitleTip.getBackground();
drawable.mutate().setAlpha(alpha);
}
根据Scrollview滑动情况,设置控件透明度
最新推荐文章于 2019-08-19 16:55:15 发布