탭의 글꼴 크기를 어떻게 바꿀 수 있습니까? 탭에 대해 TabActivity를 확장합니다.android에서 tabhost의 글꼴 크기를 변경하는 방법
답변
당신이 달성하기 위해 사용 스타일을 테마를 정의 할 수 있습니다 : 당신이 테마를 만들
먼저 (이름 : CustomTheme
) res/values/styles.xml
의 Activity
:
androidManifest.xml
당신이 당신의
TabActivity
또는
Activity
가 포함 된 위의 테마를 지정에서 다음3210
<style name="CustomTheme" parent="@android:style/Theme">
<item name="android:tabWidgetStyle">@style/CustomTabWidget</item>
</style>
<style name="CustomTabWidget" parent="@android:style/Widget.TabWidget">
<item name="android:textAppearance">@style/CustomTabWidgetText</item>
</style>
<style name="CustomTabWidgetText"
parent="@android:style/TextAppearance.Widget.TabWidget">
<item name="android:textSize">20sp</item>
<item name="android:textStyle">bold</item>
</style>
당신의 TabWidget
: 이것은 당신은 물론 당신의 크기와 스타일을 변경해야합니다 (원하는 출력 서비스를 제공합니다
<activity android:name="MyTabActivity" android:theme="@style/CustomTheme">
귀하의 취향).
그것의 꽤 있지만 시도하지이 더러운 수정 :
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);
또는
이//Do this to hack font size of title text
LinearLayout ll = (LinearLayout) tabHost.getChildAt(0);
TabWidget tw = (TabWidget) ll.getChildAt(0);
// for changing the text size of first tab
RelativeLayout rllf = (RelativeLayout) tw.getChildAt(0);
TextView lf = (TextView) rllf.getChildAt(1);
lf.setTextSize(21);
lf.setPadding(0, 0, 0, 6);
두 번째 날은 저에게 효과적입니다. 감사합니다. – sami
위의 코드 스니펫은 2.3 이하의 Android에서 작동합니다. 안드로이드 4.0 및 4.1에서 작동하지 않습니다. – Sathish
작동하지 않습니다. – princepiero
은 약간 일반화 :
final TabWidget tw = (TabWidget)mTabHost.findViewById(android.R.id.tabs);
for (int i = 0; i < tw.getChildCount(); ++i)
{
final View tabView = tw.getChildTabViewAt(i);
final TextView tv = (TextView)tabView.findViewById(android.R.id.title);
tv.setTextSize(20);
}
이것은 저와 잘 맞았습니다! 공유해 주셔서 감사합니다. – Mohammad
난 내 코드에이 코드 조각을 사용하지만 다른 3 개 탭은 여전히 변하지 만 첫 번째 탭에 영향을.
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(10);
안드로이드 4.1.2 에뮬레이터에서 이것은 몇 가지 이상한 하나를 찾고있는 탭 스타일을 설정하는 것 : 버튼을 누르면 오렌지색입니다. (아마도 4.1 디폴트 폰트 대신에 안드로이드 1.0 스타일을 적용 했을까?) – sydd
'res '에 넣을 때 오류가 발생하지만'res/values'에 넣으면 오류가 발생합니다. – Barney
@sydd 당신은 Widget.Holo.TabWidget에서 파생해야합니다. – Roel