recycleview頭部顏色變化

public class HomeFragment extends Fragment {

@InjectView(R.id.rv_home)
RecyclerView mRvHome;
@InjectView(R.id.home_tv_address)
TextView mHomeTvAddress;
@InjectView(R.id.ll_title_search)
LinearLayout mLlTitleSearch;
@InjectView(R.id.ll_title_container)
LinearLayout mLlTitleContainer;
private View mView;
private List<String> mDatas = new ArrayList<>();
private HomeRvAdapter mHomeRvAdapter;

@Nullable
@Override
public View onCreateView(LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) {
    mView = View.inflate(getContext(), R.layout.fragment_home, null);
    ButterKnife.inject(this, mView);
    mHomeRvAdapter = new HomeRvAdapter(getContext(), mDatas);
    //1.設置適配器
    mRvHome.setAdapter(mHomeRvAdapter);
    //設置布局樣式
    mRvHome.setLayoutManager(new LinearLayoutManager(getContext(), LinearLayoutManager.VERTICAL, false));
    return mView;
}

int sumY;//當前滾動的距離
float distance = 400.00f;  //滾動到150.00顏色最深,alpha值最大,臨界值
int startbgColor = 0x553190E8;
int endbgColor = 0Xff438bfd;
int bgcolor = 0;//背景色變量
ArgbEvaluator mArgbEvaluator = new ArgbEvaluator();
@Override
public void onActivityCreated(@Nullable Bundle savedInstanceState) {
    super.onActivityCreated(savedInstanceState);
    // 2 加載數據
    LoadData();
    mRvHome.addOnScrollListener(new RecyclerView.OnScrollListener() {
        @Override
        public void onScrolled(RecyclerView recyclerView, int dx, int dy) {
            super.onScrolled(recyclerView, dx, dy);
            //需要知道y方向滾動多少,累加得到總共滾動多少;
            sumY += dy;
            if (sumY<0){//沒有滾動
                bgcolor=startbgColor;
            }else if (sumY>distance){//超出漸變范圍
                bgcolor=endbgColor;
            }else {
                bgcolor= (int) mArgbEvaluator.evaluate(distance/sumY,startbgColor,endbgColor);
            }
            mLlTitleContainer.setBackgroundColor(bgcolor);
        }
    });
}

private void LoadData() {
    for (int i = 0; i < 100; i++) {
        mDatas.add("我是是----" + i);
        mHomeRvAdapter.setDatas(mDatas);
    }
}

@Override
public void onDestroyView() {
    super.onDestroyView();
    ButterKnife.reset(this);
}}
最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容

  • 當tableview下拉時,頭部高度隨之改變。如圖所示。 實現思路:1、添加view到tableview上,設置t...
    微微笑的蝸牛閱讀 1,967評論 0 51
  • 《最痛》 走過青蔥的歲月 道一聲珍重 曾經缺的一次告白 難道僅僅只是為了慎重 最痛的是后知后覺的幡然醒悟 然后從此...
    1c2e27303027閱讀 333評論 0 0
  • 幸福,就是舌尖的味蕾,自在自知;幸福,就是烈日炎炎下的那抹清風;幸福,就是清晨久違自然的那聲聲鳥鳴;幸福,就是久旱...
    飛流三千閱讀 262評論 0 1
  • 接龍客棧—懸賞任務【01】雞 都說雞年談雞大吉, 如今又要讓我寫雞, 雞啊雞,你啊你, 世人眼中你頭戴紅冠, 貌似...
    云栗閱讀 257評論 4 2
  • 五宮端正閱讀 172評論 0 1