문제

1.5 프레임 워크를 대상으로하는 응용 프로그램이 있으며 기본 표시등 테마를 사용합니다. 이 테마와 함께 탭 위젯을 사용하는 경우 탭 이미지는 거의 표시되지 않으며 현재 활성화 된 탭을 제외하고는 탭 캡션을 식별하기가 매우 불가능합니다.

기본 다크 테마 에서이 탭은 매우 명확하게 나오지만 이것은 매우 행복 할 솔루션이 아닙니다. 설정할 수있는 간단한 설정이 있습니까? 라이트 테마의 가시성을 향상시키기 위해 탭 위젯을 설정하거나 이미지와 텍스트 스타일을 수동으로 변조해야합니까?

도움이 되었습니까?

해결책

예쁘지는 않지만 탭 활동에서 시도해 볼 수 있습니다.

// light theme support
final TabHost tabHost = getTabHost();
tabHost.setBackgroundColor(Color.WHITE);
tabHost.getTabWidget().setBackgroundColor(Color.BLACK);

// hack to set font size
LinearLayout ll = (LinearLayout) tabHost.getChildAt(0);
TabWidget tw = (TabWidget) ll.getChildAt(0);

// first tab
RelativeLayout rllf = (RelativeLayout) tw.getChildAt(0);
lf = (TextView) rllf.getChildAt(1);
lf.setTextSize(21);
lf.setPadding(0, 0, 0, 6);

// second tab
RelativeLayout rlrf = (RelativeLayout) tw.getChildAt(1);
rf = (TextView) rlrf.getChildAt(1);
rf.setTextSize(21);
rf.setPadding(0, 0, 0, 6);

/res/values/colors.xml은 가져야합니다

<resources>
    <drawable name="black">#ff000000</drawable>
    <drawable name="white">#ffffffff</drawable>
</resources>

Androidmaniest.xml은 가져야합니다

<application android:theme="@android:style/Theme.Light">

더 미친 짓을하고 싶다면 시도해보십시오 http://ezmobile.wordpress.com/2009/02/02/customized-droid-tabs/

다른 팁

이것은 버그입니다. 당신은 그것을보고 할 수 있습니다 문제 추적기?

Afaik, 텍스트 및 이미지 스타일을 사용자 정의하는 해결 방법이 올바르게 들립니다.

2.0의 탭 위젯이 가벼운 스타일을 갖지 않는 것 같습니다.

HierarchyViewer 도구를 사용하여 탭에서 텍스트 뷰의 Android ID를 찾았습니다. 텍스트 속성을 변경하는 더 좋은 방법 (색상 포함)은 다음을 수행하는 것입니다 ...

TabWidget tw = (TabWidget)tabHost.findViewById(android.R.id.tabs);
View tabView = tw.getChildTabViewAt(0);
TextView tv = (TextView)tabView.findViewById(android.R.id.title);
tv.setTextSize(20);

레이아웃에서 색상/대비 문제를 해결하는 매우 간단한 방법 :

<TabWidget
   android:id="@android:id/tabs"
   android:background="#FF000000"
   android:padding="2dp"

이것은 tabwidget의 배경을 검은 색으로 설정하고 약간의 패딩을 추가하여 검은 색 배경과의 탭과 대조를 이룹니다. 완벽하지는 않지만 1.5, 2.2, 밝고 어두운 테마로 작동합니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top