final LinearLayoutManager linearLayoutManager = new LinearLayoutManager(this);
RelistAdapter adapter = new RelistAdapter();
recyclerView.setLayoutManager(linearLayoutManager);
recyclerView.setAdapter(adapter);
// recyclerView的滾動監聽
recyclerView.addOnScrollListener(new RecyclerView.OnScrollListener() {
@Override
// recyclerView的滾動狀态
public void onScrollStateChanged(RecyclerView recyclerView, int newState) {
super.onScrollStateChanged(recyclerView, newState);
// Log.e("高==", ll_top.getHeight() + "");
記錄控件的高
// height = ll_top.getHeight();
}
@Override
// recyclerView的滾動中執行
public void onScrolled(RecyclerView recyclerView, int dx, int dy) {
super.onScrolled(recyclerView, dx, dy);
查找目前試圖的位置
// View view = linearLayoutManager.findViewByPosition(currentPosition + 1);
// if (view == null) return;
view.getTop目前頂部的高,小于等于目前試圖的高
// if (view.getTop() <= height) {
// Log.e("view.getTop()==", view.getTop() + "");
// ll_top.setY(-(height - view.getTop()));
// } else {
// ll_top.setY(0);
// }
// 如果目前視圖不等于目前的位置
// linearLayoutManager.findFirstVisibleItemPosition()目前顯示在頂部的試圖的索引
Log.e("目前試圖的位置==", linearLayoutManager.findFirstVisibleItemPosition() + "");
// 判斷目前分組顯示的組名稱不是
if (currentPosition != linearLayoutManager.findFirstVisibleItemPosition()) {
currentPosition = linearLayoutManager.findFirstVisibleItemPosition();
// ll_top.setY(0);
tv_top.setText(" " + currentPosition);
}
}
});
}
private void initView() {
recyclerView = (RecyclerView) findViewById(R.id.recyclerView);
tv_top = (TextView) findViewById(R.id.tv_top);
top_divider = (View) findViewById(R.id.top_divider);
ll_top = (LinearLayout) findViewById(R.id.ll_top);
}
// 一下為擴充卡
class RelistAdapter extends RecyclerView.Adapter<RecyclerView.ViewHolder> {
@Override
public RecyclerView.ViewHolder onCreateViewHolder(ViewGroup parent, int viewType) {
View view = LayoutInflater.from(parent.getContext()).inflate(R.layout.item, parent, false);
return new ReHolder(view);
}
@Override
public void onBindViewHolder(RecyclerView.ViewHolder holder, int position) {
}
@Override
public int getItemCount() {
return 10;
}
class ReHolder extends RecyclerView.ViewHolder {
public ReHolder(View itemView) {
super(itemView);
}
}