Domanda Come impostare il colore del testo nell'app Android per tutto il testo?


Voglio definire un colore di testo predefinito per la mia app Android.

Ho una classe di attività di base, che tutte le attività sono estese e ho pensato che questo potesse essere un buon posto per definire i colori.

Se no, qual è la soluzione migliore? Forse gli stili?

Il problema è questo, tutto è nuovo per me, quindi sentitevi liberi di consigliarmi e fornire anche frammenti di codice e spiegazioni.

Questo è ciò che assomiglia alla mia classe base. Come puoi vedere è abbastanza vuoto

package com.ccslocal.mobile.quiz.jls;

import android.app.Activity;
import android.os.Bundle;

public class BaseActivity extends Activity {
    //set up app preferences here
}

44
2017-08-03 04:29


origine


risposte:


Sì, hai ragione, puoi farlo usando lo stile. O puoi usare TextView.getTextColors (). GetDefaultColor () per impostare il colore del testo predefinito. In realtà non l'ho mai usato, ma penso che potrebbe esserti d'aiuto.

Per stile

<style name="TextColor">
    <item name="android:textColor">#00FF00</item>
</style>      

Quindi nel file di layout

<TextView  style="@style/TextColor" />

12
2017-08-03 04:58



Come è stato accennato nella risposta di denis.solonenko, l'approccio corretto sarebbe quello di modificare il tema.

Dove definisci il tuo tema (nel tuo file themes.xml o styles.xml), ti consigliamo di aggiungere qualcosa come questo:

<style name="AppTheme" parent="@style/Theme.AppCompat.Light">
    ...
    <item name="android:textColor">#FF00FF</item>
    ...
</style>

Quindi assicurati che il tema sia applicato alla tua attività o applicazione nel manifest:

<application
    ...
    android:theme="@style/AppTheme"
    .... 
    >

Puoi anche definire:

  • textColor - Il colore del testo predefinito di una determinata vista
  • textColorPrimary - Il colore del testo predefinito per i pulsanti abilitati e Large Textviews
  • textColorSecondary - Il colore del testo predefinito per le visualizzazioni di testo medie e piccole
  • textColorTertiary -?

(Fonte TextColor vs TextColorPrimary vs TextColorSecondary)

Tieni presente che molte altre cose possono ignorare questi colori predefiniti, come gli stili applicati o le definizioni in diverse cartelle di risorse.

Vedi qui per un elenco completo di temi: https://android.googlesource.com/platform/frameworks/base/+/refs/heads/master/core/res/res/values/themes.xml


56
2018-04-08 04:58



Crea un tema personalizzato per la tua app. Dai un'occhiata al guida ufficiale.


18
2017-08-03 04:34



Imposta il colore predefinito nel tuo res/values/colors.xml come questo

<color name="defaultTextColor">#ffffff</color>

Quindi questo colore per tutti i tuoi testi

android:textColor="@color/defaultTextColor"

o

textView.setTextColor(R.color.defaultTextColor);

9
2017-08-03 04:39



  • Crea uno stile per TextView:

    <style name="TextViewTheme">
        <item name="android:textColor">@android:color/white</item>
    </style>
    
  • Applicalo in stile per l'app:

    <style name="AppTheme" parent="Theme.AppCompat.Light.DarkActionBar">
        <item name="colorPrimary">@color/colorPrimary</item>
        <item name="colorPrimaryDark">@color/colorPrimaryDark</item>
        <item name="colorAccent">@color/colorAccent</item>
        <item name="android:textViewStyle">@style/TextViewTheme</item>
    </style>
    
  • E ricorda di cambiare lo stile in AndroidManifest.xml:

    <application
        android:icon="@mipmap/ic_launcher"
        android:label="@string/app_name"
        android:theme="@style/AppTheme" >
        ...
    </application>
    

0
2017-08-03 20:23