2011-12-05 4 views
10

전역 수준에서 textsize를 설정하려고 시도하고 있으며이를 수행 할 방법을 찾지 못했습니다.Android : 레이아웃의 textize를 어떻게 설정합니까?

<?xml version="1.0" encoding="utf-8"?> 

<ScrollView xmlns:android="http://schemas.android.com/apk/res/android" 
    android:layout_width="fill_parent" 
    android:layout_height="fill_parent"> 

<TableLayout xmlns:android="http://schemas.android.com/apk/res/android" 
     android:id = "@+id/Table" 
     android:layout_width="fill_parent" 
     android:layout_height="fill_parent" 
     android:shrinkColumns="*" 
     android:stretchColumns="*"> 
</TableLayout> 
</ScrollView> 

TableRows 및 TextViews 자체가 동적으로 사용자 입력에 따라 생성됩니다 예를 들어

나는 이런 식으로 뭔가가있다.

문제는 리소스 파일을 기반으로 기본 textSize를 설정하고 일련의 코드를 건드리지 않고도 설정하고자하는 것입니다. 앱에 "이봐 요, 이걸 기본 textSize로 사용하여 모든 textViews를 사용할 수 있습니까?"라고 말할 수 있습니까?

또는 다른 말로 표현하면 HTML에서는 본문, div 및 표 수준에서 글꼴 크기를 설정할 수 있습니다. 내가 레이아웃 (LinearLayout, TableLayout, ScrollView 등) 레벨에서 할 수있는 비슷한 것이 있습니까?

답변

13

모두 TextView에 대한 전체 스타일을 설정하려면 사용자 지정 테마에 android:textViewStyle 특성을 설정하고 응용 프로그램 또는 개별 활동에 테마를 적용하십시오.

의사 코드 :

<style name="MyTheme" parent="android:Theme"> 
    <item name="android:textViewStyle">@style/MyTextView</item> 
</style> 

<style name="MyTextView" parent="android:Widget.TextView"> 
    <item name="android:textSize">14sp</item> 
</style> 

... 

<activity android:theme="@style/MyTheme"> 
    ... 
+0

감사합니다. 나는 몇 시간 동안 봤는데 그것을 찾을 수 없었다. 다시 한번 감사드립니다. –

+0

달콤한, 도와 줘서 기뻐! –

+1

또한 "텍스트 크기를 정의하려면 sp (배율 비 독립적 픽셀)를 선호해야합니다 .sp 배율 인수는 사용자 설정에 따라 다르며 시스템은 dp와 동일한 크기로 배율을 조정합니다." http://developer.android.com/guide/practices/screens_support.html#screen-independence – scottyab

0

또는 당신은 당신이 뭔가를 할 수있는 모든 텍스트 스타일의 주위에 기본 설정되어 있지만 (이 예에서 버튼 같은) 어떤 일에 대한 그것의 부분을 무시하고 싶다면 :

 <style name="whiteText" parent="@android:style/TextAppearance.Medium"> 
      <item name="android:textStyle">normal</item> 
      <item name="android:textColor">@android:color/white</item> 
     </style> 
     <style name="buttonStyle" parent="@android:style/Widget.Button"> 
      <item name="android:textAppearance">@style/whiteText</item> 
      <item name="android:textStyle">bold</item> 
      <item name="android:textColor">@android:color/black</item> 
      <item name="android:gravity">center</item> 
      <item name="android:background">@drawable/pinkbutton</item> 
      <item name="android:cacheColorHint">@android:color/transparent</item> 
      <item name="android:minHeight">50.0dip</item> 
     </style> 
     <style name="DarkTheme" parent="@android:style/Theme.Black.NoTitleBar"> 
      <item name="android:buttonStyle">@style/buttonStyle</item> 
      <item name="android:textAppearance">@style/whiteText</item> 
     </style> 

아마 당신의 한 최고의 장소가 될 것입니다하지만 시작하기 : 속임수를 썼는지 http://developer.android.com/design/style/index.html

관련 문제