Autore Topic: Come applicare uno style al testo  (Letto 1138 volte)

Offline andream1977

  • Utente normale
  • ***
  • Post: 260
  • Respect: +7
    • Mostra profilo
  • Dispositivo Android:
    Nexus S
  • Sistema operativo:
    windows xp
Come applicare uno style al testo
« il: 11 Febbraio 2011, 16:42:35 CET »
0
Sto cercando di mettere un colore rosso a tutti i testi della mia applicazione, per fare questo ho scritto

nel file styles.xml
Codice (XML): [Seleziona]
<?xml version="1.0" encoding="utf-8"?>
<resources>
<style name="CustomTheme" parent="android:style/Theme.NoTitleBar">
   <item name="android:radioButtonStyle">@style/RadioButton</item>
   <item name="android:checkboxStyle">@style/CheckBox</item>
   <item name="android:textAppearance">@style/CodeFont</item>
</style>
<style name="RadioButton" parent="@android:style/Widget.CompoundButton.RadioButton">
   <item name="android:button">@drawable/radio</item>
</style>
<style name="CheckBox" parent="@android:style/Widget.CompoundButton.CheckBox">
   <item name="android:button">@drawable/check</item>
</style>
<style name="CodeFont" parent="@android:style/TextAppearance">
    <item name="android:layout_width">fill_parent</item>
    <item name="android:layout_height">wrap_content</item>
    <item name="android:textColor">#f10808</item>   <-- colore ROSSO
   <item name="android:textSize">50dip</item>
    <item name="android:typeface">monospace</item>
</style>
</resources>
Se adesso scrivo in un file di layout della mia app;
Codice (XML): [Seleziona]
        <TextView
                android:id="@+id/demo_txt"
                android:layout_height="wrap_content"
                android:layout_width="wrap_content"
                style="@style/CodeFont"
                android:text="Ciao" />
Vedo correttamente il testo di colore rosso e scritto grande

Se volessi applicarlo a tutti i componenti della mia app ho modificato il file manifest nel seguente modo
Codice (XML): [Seleziona]
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
        package="it.demo" android:versionCode="1" android:versionName="1.0">
        <application android:icon="@drawable/icon" android:label="@string/app_name"
                android:theme="@style/CustomTheme"             <-- ho aggiunto il file di stile
                android:screenOrientation="portrait"
                >
                <activity
           android:name="Splashscreen"
           android:screenOrientation="portrait"
       >
............

        </application>

</manifest>
ed ho rimosso il file di stile al componente
Codice (XML): [Seleziona]
        <TextView
                android:id="@+id/demo_txt"
                android:layout_height="wrap_content"
                android:layout_width="wrap_content"
                android:text="Ciao" />
      
Lo stile viene perso, non vedo più il testo grande e rosso ma vedo le dimensioni ed il colore di default di android, cosa sbaglio?

Offline JD

  • Amministratore
  • Utente storico
  • *****
  • Post: 1600
  • Respect: +232
    • leinardi
    • Mostra profilo
  • Dispositivo Android:
    LG Nexus 5
  • Sistema operativo:
    L'ultima Ubuntu
Re:Come applicare uno style al testo
« Risposta #1 il: 23 Febbraio 2011, 22:36:56 CET »
0
Molto strano, mi sembra corretto   :-\

Qualche novità?
È stata trovata una soluzione al tuo problema?
Evidenzia il post più utile premendo . È un ottimo modo per ringraziare chi ti ha aiutato ;).
E se hai aperto tu il thread marcalo come risolto cliccando !

Offline andream1977

  • Utente normale
  • ***
  • Post: 260
  • Respect: +7
    • Mostra profilo
  • Dispositivo Android:
    Nexus S
  • Sistema operativo:
    windows xp
Re:Come applicare uno style al testo
« Risposta #2 il: 24 Febbraio 2011, 17:19:48 CET »
0
Niente ho abbandonato l'idea di applicare uno stile in tutta l'app e come soluzione applico questo codice ripetuto in ogni activity:

Codice (Java): [Seleziona]
TextView titolo = (TextView) findViewById(R.id.titolo);
Typeface font = Typeface.createFromAsset(getAssets(), Constants.FONT_TITOLO);  
titolo.setTypeface(font);