mNestedScrollView = (NestedScrollView) findViewById(R.id.nested_scroll_view);
re = (RelativeLayout) findViewById(R.id.re);
final int height = re.getLayoutParams().height;
mNestedScrollView.setOnScrollChangeListener(new NestedScrollView.OnScrollChangeListener() {
// 将透明度声明成局部变量用于判断
int alpha = 0;
int count = 0;
float scale = 0;
@Override
public void onScrollChange(NestedScrollView v, int scrollX, int scrollY, int oldScrollX, int oldScrollY) {
if (scrollY <= height) {
scale = (float) scrollY / height;
alpha = (int) (255 * scale);
// 随着滑动距离改变透明度
// Log.e("al=","="+alpha);
re.setBackgroundColor(Color.argb(alpha, 255, 0, 0));
} else {
if (alpha < 255) {
Log.e("执行次数", "=" + (++count));
// 防止频繁重复设置相同的值影响性能
alpha = 255;
re.setBackgroundColor(Color.argb(alpha, 255, 0, 0));
}
}
}
});
---------------------
原文:https://blog.csdn.net/codesuperman1314/article/details/55002536