2012-09-16 11 views
5

मैं एक चयनकर्ता का उपयोग करता हूं और मुझे नहीं पता कि टेक्स्ट आकार कैसे सेट करें। शायद मैं कुछ गलत कर रहा हूँ - मददचयनकर्ता का उपयोग कर पाठ आकार कैसे सेट करें?

arrow.xml

<selector xmlns:android="http://schemas.android.com/apk/res/android"> 

    <item android:drawable="@drawable/button_pressed" android:state_pressed="true" android:color="@color/green"></item> 

</selector> 
+0

मैं तुम्हारे साथ एक ही सवाल है, लेकिन अभी भी इस सवाल का जवाब :) –

उत्तर

-1

अपनी खुद की style.xml बनाएँ और पाठ शैली को परिभाषित। और उसके बाद शैली को अपने चयनकर्ता में सेट करें।

style.xml

<style name="myStyle"> 
    <item name="android:textSize">9px</item> 
    <item name="android:textColor">#fff</item> 
    <item name="android:textStyle">bold</item> 
</style> 

और अपने चयनकर्ता में

<selector xmlns:android="http://schemas.android.com/apk/res/android"> 
    <item android:state_pressed="true" 
      style="@style/myStyle" /> 
</selector> 
+0

हाय @Apurva, जहां चयनकर्ता फ़ाइल डाल करने के लिए नहीं मिल सकता है:

तो यह सेट अपने दृश्य पर android:stateListAnimator उपयोग करने के लिए? क्या यह आकर्षित करने योग्य है? – Elye

+0

@elye हाँ पाठ्यक्रम के ड्राइंग में – Apurva

+3

क्या यह वास्तव में काम करता है? मुझे चेतावनी मिलती है "अज्ञात विशेषता शैली"। AFAIK चयनकर्ता केवल drawables के साथ काम करते हैं, शैलियों नहीं। – kalehv

2

आप एनिमेटर संसाधनों के तहत एक का भी उपयोग कर सकते हैं:

<!-- res/animator/text_size.xml --> 
<?xml version="1.0" encoding="utf-8"?> 
<selector xmlns:android="http://schemas.android.com/apk/res/android"> 
    <item android:state_focused="true"> 
     <set> 
      <objectAnimator 
       android:duration="0" 
       android:propertyName="textSize" 
       android:valueTo="18sp" 
       android:valueType="floatType"/> 
     </set> 
    </item> 
    <item android:state_focused="false"> 
     <set> 
      <objectAnimator 
       android:duration="0" 
       android:propertyName="textSize" 
       android:valueTo="10sp" 
       android:valueType="floatType"/> 
     </set> 
    </item> 
</selector> 

आप मूल्य के लिए सीधे कूद के लिए 0 अवधि हो सकता है या वहां एक अवधि डालें।

<Button 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:text="Button 3" 
    android:stateListAnimator="@animator/text_size"/> 
+0

यह उपयोगी है, हालांकि मुझे पता चला है कि ऑब्जेक्ट में sp मानों का उपयोग करने वाला एनीमेटर 'वैल्यूओ/से'' इसे दो बार फ्लोट में परिवर्तित करने का कारण बनता है क्योंकि 'TextView.setTextSize (float)' मान को एसपी के रूप में मानता है। एक इकाई निर्दिष्ट नहीं करना बाकी संसाधनों के साथ पाठ आकार को सुसंगत रखता है। – Zharf

+0

मैं पालन नहीं करता, शायद एक उत्तर के रूप में लिखो। – weston

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