2011-12-05 6 views
10

グローバルレベルでtextsizeを設定しようとしていますが、これを行う方法や方法を見つけることができません。例えばAndroid:レイアウトのテキストサイズを設定するにはどうすればよいですか?

私はこのようなものがあります:

<?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をコードの束に触れることなく設定することです。このアプリには、 "ちょっとアプリ、これをベーステキストとして使用する方法はありますか?すべてのtextViewのサイズ?"

言い換えれば、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

関連する問題