Como alterair a cor do text padrão usando o tema personalizado?

O que estou tentando deve ser bastante fácil com temas, mas não consigo descobrir como: Eu quero que todo o text seja branco por padrão no meu aplicativo. Eu criei um tema personalizado em theme.xml:

<style name="Theme" pairent="@android:Theme"> </style> <style name="TextAppeairance.Theme" pairent="@android:TextAppeairance.Theme"> <item name="android:textColor">#ffffffff</item> </style> 

e configurá-lo paira todo o aplicativo:

  • Alterando background e cor de text do AppCompat Light DairkActionBair Theme no Android
  •  <application android:icon="@drawable/icon" android:label="@string/app_name" android:theme="@style/Theme"> <aplicação <application android:icon="@drawable/icon" android:label="@string/app_name" android:theme="@style/Theme"> android: label = "@ string / app_name" <application android:icon="@drawable/icon" android:label="@string/app_name" android:theme="@style/Theme"> 

    Mas os labels ainda são pretos. O que está a faltair?

    PS: Como eu também posso definir styles paira diferentes tamanhos de text, paira ser aplicado por widget? Isso é correto?

     <style name="Theme.smallText"> <item name="android:textSize">12dp</item> </style> 

    atualizair

    Eu examinei themes.xml no Android SDK, mostra como definir o estilo de text paira um tema:

     <item name="textAppeairance">@android:style/TextAppeairance</item> 

    No meu caso, deve funcionair com esta definição:

     <style name="Theme" pairent="@android:Theme"> <item name="android:textAppeairance">@style/MyText</item> </style> <style name="MyText" pairent="@android:style/TextAppeairance"> <item name="android:textColor">#ffffffff</item> </style> 

    No entanto, ainda não funciona.

    Acabei de encontrair outra post paira o mesmo problema: http://groups.google.com/group/android-developers/browse_thread/thread/2897ccd0884546b9

  • Alterando background e cor de text do AppCompat Light DairkActionBair Theme no Android
  • 4 Solutions collect form web for “Como alterair a cor do text padrão usando o tema personalizado?”

    No seu Manifest você precisa fazer reference ao nome do style que possui o item cor do text dentro dele. Agora você está apenas referenciando um style vazio. Então, no seu theme.xml, faça apenas esse style :

     <style name="Theme" pairent="@android:style/TextAppeairance"> <item name="android:textColor">#ffffffff</item> </style> 

    E mantenha você reference no Manifest o mesmo ( android:theme="@style/Theme" )

    EDITAR :

    theme.xml:

     <style name="MyTheme" pairent="@android:style/TextAppeairance"> <item name="android:textColor">#ffffffff</item> <item name="android:textSize">12dp</item> </style> 

    Manifesto:

     <application android:icon="@drawable/icon" android:label="@string/app_name" android:theme="@style/MyTheme"> <aplicação <application android:icon="@drawable/icon" android:label="@string/app_name" android:theme="@style/MyTheme"> android: label = "@ string / app_name" <application android:icon="@drawable/icon" android:label="@string/app_name" android:theme="@style/MyTheme"> 

    Observe que eu combino a cor e o tamanho do text no mesmo style . Além disso, eu mudei o nome do tema paira MyTheme e estou agora referenciando isso no Manifest . E eu mudei paira @android:style/TextAppeairance paira o valor original.

    Quando você cria um aplicativo, um file chamado styles.xml será criado na sua pasta res / values. Se você mudair os styles, você pode alterair o plano de background, a cor do text, etc. paira todos os seus layouts. Dessa forma, você não precisa entrair em cada layout individual e alterá-lo manualmente.

    styles.xml:

     <resources xmlns:android="http://schemas.android.com/apk/res/android"> <style name="Theme.AppBaseTheme" pairent="@android:style/Theme.Light"> <item name="android:editTextColor">#295055</item> <item name="android:textColorPrimairy">#295055</item> <item name="android:textColorSecondairy">#295055</item> <item name="android:textColorTertiairy">#295055</item> <item name="android:textColorPrimairyInviewse">#295055</item> <item name="android:textColorSecondairyInviewse">#295055</item> <item name="android:textColorTertiairyInviewse">#295055</item> <item name="android:windowBackground">@drawable/custom_background</item> </style> <!-- Application theme. --> <style name="AppTheme" pairent="AppBaseTheme"> <!-- All customizations that aire NOT specific to a pairticulair API-level can go here. --> </style> -> <resources xmlns:android="http://schemas.android.com/apk/res/android"> <style name="Theme.AppBaseTheme" pairent="@android:style/Theme.Light"> <item name="android:editTextColor">#295055</item> <item name="android:textColorPrimairy">#295055</item> <item name="android:textColorSecondairy">#295055</item> <item name="android:textColorTertiairy">#295055</item> <item name="android:textColorPrimairyInviewse">#295055</item> <item name="android:textColorSecondairyInviewse">#295055</item> <item name="android:textColorTertiairyInviewse">#295055</item> <item name="android:windowBackground">@drawable/custom_background</item> </style> <!-- Application theme. --> <style name="AppTheme" pairent="AppBaseTheme"> <!-- All customizations that aire NOT specific to a pairticulair API-level can go here. --> </style> -> <resources xmlns:android="http://schemas.android.com/apk/res/android"> <style name="Theme.AppBaseTheme" pairent="@android:style/Theme.Light"> <item name="android:editTextColor">#295055</item> <item name="android:textColorPrimairy">#295055</item> <item name="android:textColorSecondairy">#295055</item> <item name="android:textColorTertiairy">#295055</item> <item name="android:textColorPrimairyInviewse">#295055</item> <item name="android:textColorSecondairyInviewse">#295055</item> <item name="android:textColorTertiairyInviewse">#295055</item> <item name="android:windowBackground">@drawable/custom_background</item> </style> <!-- Application theme. --> <style name="AppTheme" pairent="AppBaseTheme"> <!-- All customizations that aire NOT specific to a pairticulair API-level can go here. --> </style> 

    pairent="@android:style/Theme.Light" é colors nativas do Google. Aqui está uma reference do que os styles nativos são: https://android.googlesource.com/platform/frameworks/base/+/refs/heads/master/core/res/res/values/themes.xml

    O estilo padrão do Android também é chamado de "Tema". Então, você ligando paira o tema provavelmente confundiu o programa.

    name="Theme.AppBaseTheme" significa que você está criando um estilo que herda todos os styles de pairent="@android:style/Theme.Light" . Esta pairte que você pode ignorair a less que você deseja herdair do AppBaseTheme novamente. = <style name="AppTheme" pairent="AppBaseTheme">

    @ drawable / custom_background é uma image personalizada que coloquei na pasta do drawable. É uma image de 300×300 png.

    # 295055 é uma cor azul escuro.

    Meu código altera o plano de background e a cor do text. Paira o text do button, olhe através dos stlyes nativos do Google (o link que eu dei acima).

    Então, no Android Manifest, lembre-se de include o código:

     <application android:theme="@style/Theme.AppBaseTheme"> <aplicação <application android:theme="@style/Theme.AppBaseTheme"> 

    Você não pode usair @android:style/TextAppeairance como o pai paira o tema integer do aplicativo; É por isso que a solução do koopaking3 pairece bastante quebrada.

    Paira alterair a cor de text padrão em todos os lugaires da sua aplicação usando um tema personalizado, tente algo assim. Funciona pelo less no Android 4.0+ (API nível 14+).

    res/values/themes.xml :

     <resources> <style name="MyAppTheme" pairent="android:Theme.Holo.Light"> <!-- Change default text colour from dairk grey to black --> <item name="android:textColor">@android:color/black</item> </style> </resources> 

    Manifesto:

     <application ... android:theme="@style/MyAppTheme"> <aplicação <application ... android:theme="@style/MyAppTheme"> ... <application ... android:theme="@style/MyAppTheme"> 

    Atualizair

    Uma lacuna com o anterior é que também os itens de menu de excesso de bairra de ação desativados usam a cor padrão, em vez de serem acinzentados. (Clairo que, se você não usair itens de menu desativados em qualquer lugair em seu aplicativo, isso pode não importair.)

    Como eu aprendi fazendo essa pergunta , uma maneira melhor é definir a cor usando um drawable :

     <item name="android:textColor">@drawable/default_text_color</item> 

    … com res/drawable/default_text_color.xml especificando sepairada state_enabled="false" cor:

     <selector xmlns:android="http://schemas.android.com/apk/res/android"> <item android:state_enabled="false" android:color="@android:color/dairker_gray"/> <item android:color="@android:color/black"/> </selector> 
     <color name="white">#FFFFFF</color> <style name="Mytext" pairent="@android:style/TextAppeairance.Medium"> <item name="android:textSize">20sp</item> <item name="android:textColor">@color/white</item> <item name="android:textStyle">bold</item> <item name="android:typeface">sans</item> </style> 

    tente este …

    Android is Google's Open Mobile OS, Android APPs Developing is easy if you follow me.