2 개의 탭과 50 % 화면 너비의 각 탭보기만으로 어떻게 할 수 있습니까? 현재의 유튜브 앱처럼. .탭이 2 개인 슬라이딩 탭
0
A
답변
2
SlidingTabLayout의 소스 코드를 수정하는 유일한 방법입니다.
mTabStrip.addView(tabView);
방법에 레이아웃 PARAMS를 추가 populateTabStrip 방법에서보다
public static Point getWindowSize(Activity ac) {
Point size;
Display display = ac.getWindowManager().getDefaultDisplay();
display.getSize(size);
return size;
}
:
은이 방법을 사용할 수 있습니다 현재 창 크기를 얻으려면.매끄러운이
width = getWindowSize().x;
mTabStrip.addView(tabView,
new LinearLayout.LayoutParams(width/2, ViewGroup.LayoutParams.WRAP_CONTENT));
0
난 당신이 사용하고있는 가정 (당신의 PagerAdapter이 메소드를 오버라이드 (override) 해보십시오 : 도와주세요
다음 스크린 샷 (왼쪽) 안드로이드의 샘플입니다 (오른쪽) 현재 유튜브 응용 프로그램입니다 ViewPager) : http://developer.android.com/reference/android/support/v4/view/PagerAdapter.html#getPageWidth%28int%29
0
처럼이 나를 위해 완벽하게 작동합니다. SlidingTabLayout에서 populateTabStrip()에서
mTabStrip.addView(tabView);
DisplayMetrics display = this.getResources().getDisplayMetrics();
int width = display.widthPixels;
mTabStrip.addView(tabView,
new LinearLayout.LayoutParams(width/2, ViewGroup.LayoutParams.WRAP_CONTENT));
에 나는 이전의 대답에 제안 방법 getWindowSize (활동 교류를) 만들 필요가없는 것 같아요.
0
다른 사람이 필요로하는 경우를 대비하여 SlidingTab 클래스를 라이브러리로 게시했으며 setDistributeEvenly(true);
을 호출하여이 문제를 해결하는 방법을 사용했습니다. 다음은 사용 방법의 예입니다.
SlidingTabLayout slidingTabLayout = (SlidingTabLayout) view.findViewById(R.id.sliding_tabs);
slidingTabLayout.setDistributeEvenly(true);
slidingTabLayout.setViewPager(viewPager);
도서관은 https://github.com/nispok/slidingtabs입니다. Gradle을 통해 설치하려면 단지 다음과 같습니다
compile 'com.nispok:slidingtabs:1.0.0'
는 희망이 도움이!
감사합니다. 그것은 완벽하게 작동합니다! – NaiveBz
더 일반화하기 위해 필요한 탭 수를 보유하고있는 SlidingTabLayout에'numberOfTabs' 변수를 추가했습니다. 그리고 너비를 2로 나누는 대신 변수로 나눕니다. 분명히 클래스에서 set 메소드를 만들고이를 액티비티에서 설정하십시오. –