2011-12-05 8 views
10

मैं ग्रंथ स्तर को वैश्विक स्तर पर सेट करने की कोशिश कर रहा हूं और इसे करने का कोई तरीका नहीं ढूंढ सकता या नहीं ढूंढ सकता।एंड्रॉइड: मैं लेआउट के लिए textsize कैसे सेट करूं?

<?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 खुद को गतिशील रूप से उपयोगकर्ता इनपुट के आधार पर जेनरेट किए जाते हैं:

उदाहरण के लिए मैं कुछ इस तरह की है।

समस्या यह है कि मैं बिना किसी कोड फ़ाइल के आधार पर संसाधन फ़ाइल के आधार पर मूल टेक्स्ट साइज सेट करना चाहता हूं और कोड के गुच्छा को स्पर्श करता हूं। ऐप को बताने का कोई तरीका है, "हे ऐप, इसे अपने टेक्स्ट टेक्स्ट के रूप में अपने टेक्स्ट टेक्स्ट के रूप में उपयोग करें?"

या किसी अन्य तरीके से वाक्यांशित, HTML में मैं शरीर, div, और तालिका स्तर पर फ़ॉन्ट आकार सेट कर सकता हूं। क्या एक समान लेआउट (लीनियरलाउट, टेबललाउट, स्क्रॉलव्यू, इत्यादि) स्तर पर मैं कुछ समान कर सकता हूं?

उत्तर

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

धन्यवाद है कि चाल किया था। मैं घंटों के लिए googled और इसे नहीं मिला। एक बार फिर धन्यवाद। –

+0

मीठा, मदद करने में खुशी हुई! –

+1

यह भी उल्लेखनीय है कि "आपको पाठ आकार को परिभाषित करने के लिए एसपी (स्केल-स्वतंत्र पिक्सेल) पसंद करना चाहिए। स्पेल स्केलर उपयोगकर्ता सेटिंग पर निर्भर करता है और सिस्टम आकार को स्केल करता है जैसा कि यह डीपी के लिए करता है।" http://developer.android.com/guide/practices/screens_support.html#screen- निर्भरता – 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

संबंधित मुद्दे