20180530_Nested ScrollView의 충돌 해결 방안
2830 단어 android
제 해결 방안은 포기
ViewPager
, 개용RecyclerView
+PagerSnapHelper
입니다. 효과는 똑같습니다.부분 참조 코드
tl_tabs = (TabLayout) findViewById(R.id.tl_tabs);
tl_tabs.addOnTabSelectedListener(new TabLayout.OnTabSelectedListener() {
@Override
public void onTabSelected(TabLayout.Tab tab) {
rv_pages.smoothScrollToPosition(tab.getPosition()); // RecyclerView
}
//
});
rv_pages = (RecyclerView) findViewById(R.id.rv_pages);
final LinearLayoutManager llm = new LinearLayoutManager(this);
llm.setOrientation(LinearLayoutManager.HORIZONTAL);
rv_pages.setLayoutManager(llm);
adapter = new PagerAdapter();
rv_pages.setAdapter(adapter);
rv_pages.addOnScrollListener(new RecyclerView.OnScrollListener() {
private int mPreviousScrollState;
private int mScrollState;
@Override
public void onScrollStateChanged(RecyclerView recyclerView, int newState) {
super.onScrollStateChanged(recyclerView, newState);
switch (newState) {
case RecyclerView.SCROLL_STATE_IDLE:
int position = llm.findFirstVisibleItemPosition();
TabLayout.Tab tab = tl_tabs.getTabAt(position);
if (tab != null) {
tab.select(); // TabLayout
}
break;
}
}
//
});
new PagerSnapHelper().attachToRecyclerView(rv_pages); // PagerSnapHelper ViewPager
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
Kotlin의 기초 - 2부지난 글에서는 Kotlin이 무엇인지, Kotlin의 특징, Kotlin에서 변수 및 데이터 유형을 선언하는 방법과 같은 Kotlin의 기본 개념에 대해 배웠습니다. 유형 변환은 데이터 변수의 한 유형을 다른 데이터...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.