TabLayout을 사용하고 있고 사용하고있는 탭에 대한 사용자 지정 이미지가 있지만, 내 인생에서 탭과 이미지 사이의 구분선의 색이나 이미지를 변경하는 방법을 알 수 없습니다. 탭 콘텐츠. setDividerDrawable()을 사용하려고 시도했지만 탭 콘텐트를 설정하기 전에 호출 할 때 충돌이 발생하고 이후에 아무 작업도 수행하지 않습니다. 내가 흑인으로 충분하면 충분하지만, 지금까지 아무 것도 효과가 없다. 어떤 지침을 주셔서 감사합니다.Android에서 TabWidget 구분선의 색상 및/또는 드로어 블을 어떻게 변경합니까?
5
A
답변
9
다음을 수행해야합니다. tabHost.getTabWidget(). setDividerDrawable (R.drawable.tab_divider);
여기서 R.drawable.tab_divider는 resources 디렉토리의 이미지입니다.
하지만 핵심은 탭 호스트에 탭을 추가하기 전에해야한다는 것입니다.
private void initializeTabs(int curTab) {
this.tabHost = getTabHost();
tabHost.clearAllTabs();
TabSpec ts1, ts2, ts3, ts4, ts5;
// tab separator
tabHost.getTabWidget().setDividerDrawable(R.drawable.tab_divider);
ts1 = this.setupTab(new TextView(this), tabHost, R.drawable.browse_tab_normal,
mResources.getString(R.string.Browse));
ts2 = this.setupTab(new TextView(this), tabHost, R.drawable.search_tab_normal,
mResources.getString(R.string.Search));
ts3 = this.setupTab(new TextView(this), tabHost, R.drawable.postad_tab_normal,
mResources.getString(R.string.Post));
ts4 = this.setupTab(new TextView(this), tabHost, R.drawable.watchlist_tab_normal,
mResources.getString(R.string.WatchList));
ts5 = this.setupTab(new TextView(this), tabHost, R.drawable.managead_tab_normal,
mResources.getString(R.string.Login));
// intents
ts1.setContent(new Intent().setClass(this, BrowseTabActivity.class));
ts2.setContent(new Intent().setClass(this, SearchTabActivity.class));
ts3.setContent(new Intent().setClass(this, PostAdTabActivity.class));
ts4.setContent(new Intent().setClass(this, WatchlistTabActivity.class));
ts5.setContent(new Intent().setClass(this, LoginTabActivity.class));
tabHost.addTab(ts1);
tabHost.addTab(ts2);
tabHost.addTab(ts3);
tabHost.addTab(ts4);
tabHost.addTab(ts5);
...
0
디바이더를 정의 할 수있는 더 좋은 방법이 당신의 XML 마크 업의 경우 확인하는 것입니다 : : 그래서
<TabWidget
android:layout_width="match_parent"
android:showDividers="middle"
android:divider="@drawable/design_tab_divider">
</TabWidget>
,
내 탭 초기화 코드는 아래와 같다 마크 업에서 드로어 블을 정의 할 수 있습니다. android:divider
과 함께 android:showDividers="middle"
을 사용해야 탭 사이에 칸막이를 배치해야합니다. 사양을 자세히 읽고 LinearLayout에서 상속받은 속성에주의하십시오. - docs in google
관련 문제
- 1. Android에서 XML로 드로어 블을 팽창시키기
- 2. 드로어 블을 색칠하는 방법은 무엇입니까?
- 3. 색상 TabWidget
- 4. 안드로이드의지도보기에있는 드로어 블의 크기는 어떻게 변경합니까?
- 5. CheckBox는 해당 드로어 블을 어떻게 얻습니까?
- 6. Android의 애니메이션 GIF에서 드로어 블을 검색하십시오.
- 7. Android에서 ImageCache에 저장하려면 비트 맵 또는 드로어 블을 사용해야합니까?
- 8. 체크 박스의 드로어 블을 XML로 설정하기
- 9. 드로어 블을 디스크에 저장하고 가져 오기 - Android
- 10. XML 모양 드로어 블을 사용하는 방법은 무엇입니까?
- 11. 상태 저장 가능 드로어 블이 다른 드로어 블을 찾지 못함
- 12. 드로어 블을 만질 때를 감지하는 방법
- 13. 여러 이미지로 드로어 블을 만드는 방법은 무엇입니까?
- 14. 자바 : UTF8 문자열에서 드로어 블을 작성
- 15. Android에서 드로어 블 회전
- 16. 기본 backBarButtonItem에서 색상/이미지를 어떻게 변경합니까?
- 17. MapView에서지도 컨트롤러의 위치를 Android에서 어떻게 변경합니까?
- 18. 의 ListView 드로어 블을 얻기 및 수동으로 적용
- 19. Android에서 사용자 정의 된 드로어 블 구현
- 20. 안드로이드 상태 파일은 dpi 종속 드로어 블을 찾지 못합니다
- 21. 안드로이드에서 크기를 조정할 수있는 십자형 드로어 블을 만드는 방법
- 22. 안드로이드 내가이 포함되어야 XML에서 드로어 블을 작성하고자하는 XML
- 23. 안드로이드에서 async를보기 위해 비트 맵/드로어 블을 로딩하는 방법
- 24. Android : 앱 매니페스트에서 라이브러리 드로어 블을 참조하는 법
- 25. 오버 클록 onClick 색상/드로어 블
- 26. 스크롤 tabwidget
- 27. Android tabwidget
- 28. 테마 : 테마 의존 드로어 블이 가능합니까?
- 29. Android : 다른 테마를 선택한 후 동일한 참조를 유지 한 후 다른 드로어 블을 사용하십시오.
- 30. Android에서 런타임에 드로어 블로 스트로크 추가
답변은 정상이지만 이미지 대신 동일한 코드로 설정할 수 있습니다. 감사! – benoffi7