package com.atguigu.shoppingmall.user.fragment;
import android.graphics.Color;
import android.view.View;
import android.view.ViewTreeObserver;
import android.widget.ImageButton;
import android.widget.RelativeLayout;
import android.widget.TextView;
import com.atguigu.shoppingmall.R;
import com.atguigu.shoppingmall.base.BaseFragment;
import com.hankkin.gradationscroll.GradationScrollView;
import butterknife.Bind;
import butterknife.ButterKnife;
// 个人中心页面
public class UserFragment extends BaseFragment {
@Bind(R.id.ib_user_avator)
ImageButton ibUserAvator;
@Bind(R.id.rl_person_header)
RelativeLayout rlPersonHeader;
@Bind(R.id.sv_person)
GradationScrollView svPerson;
@Bind(R.id.tv_usercenter)
TextView tvUsercenter;
@Override
public View initView() {
View view = View.inflate(mContext, R.layout.fragment_user, null);
ButterKnife.bind(this, view);
return view;
}
@Override
public void initData() {
super.initData();
ViewTreeObserver vto = rlPersonHeader.getViewTreeObserver();
vto.addOnGlobalLayoutListener(new ViewTreeObserver.OnGlobalLayoutListener() {
private int height;
@Override
public void onGlobalLayout() {
// 移除监听
tvUsercenter.getViewTreeObserver().removeGlobalOnLayoutListener(this);
// 获取顶部图片的高度
height = rlPersonHeader.getHeight();
// 监听滑动,改变透明度
svPerson.setScrollViewListener(new GradationScrollView.ScrollViewListener() {
@Override
public void onScrollChanged(GradationScrollView scrollView, int x, int y, int oldx, int oldy) {
if (y <= 0) { //设置标题的背景颜色
tvUsercenter.setBackgroundColor(Color.argb((int) 0, 255, 0, 0));
} else if (y > 0 && y <= height) { //滑动距离小于banner图的高度时,设置背景和字体颜色颜色透明度渐变
float scale = (float) y / height;
float alpha = (255 * scale);
tvUsercenter.setTextColor(Color.argb((int) alpha, 255, 255, 255));
tvUsercenter.setBackgroundColor(Color.argb((int) alpha, 255, 0, 0));
} else { //滑动到banner下面设置普通颜色
tvUsercenter.setBackgroundColor(Color.argb((int) 255, 255, 0, 0));
}
}
});
}
});
}
@Override
public void onDestroyView() {
super.onDestroyView();
ButterKnife.unbind(this);
}
}