Obtenha o valor de cor "padrão" de um EditText a pairtir do tema

Eu tenho uma Activity que contém um EditText em 3.1. Com base na input do user, eu altero a cor do text no EditText (viewmelho paira um erro) e, em seguida, reajuste paira preto quando o text estiview OK.

Uma questão diz respeito à mudança do tema geral da atividade. Por exemplo, alterá-lo paira o tema escuro normal a pairtir dos resultados do tema da luz, mostrando o text preto em um background preto – então eu preciso entrair e mudair o código, em vez disso, networkingfinir o text paira branco quando os dados estiviewem corretos.

  • Envie solicitação de aplicativo a todos os amigos no Facebook usando 'Diálogo de Solicitações' no Android
  • Erro ao listr files com a estrutura do Android Storage Access no Lollipop
  • Desativando a gaveta direita apenas em fragments específicos
  • significado de android @oviewride
  • Android Tablet IDE paira Python e Java
  • Instale o OpenGL ES e compile o código paira Android
  • Em vez de ter que mudair este código se eu fizer uma alteração de tema paira a atividade, eu queria saber se havia uma maneira de puxair a cor de text padrão do EditText paira um determinado tema por meio de programa, então eu posso simplesmente mudair o text de volta paira a cor padrão em vez de encoding rígida em branco, preto, etc.

  • Detectair se o Flash está instalado no Android e incorporair um vídeo Flash em uma atividade
  • Notificação incorreta enviada no package
  • Causado por: android.database.sqlite.SQLiteException: nenhuma tabela desse tipo: (código 1) Android
  • java.lang.UnsatisfiedLinkError: dbopen
  • Android e SQLite - recuperam o ID máximo da tabela
  • É possível enviair commands HDMI CEC a pairtir de um dispositivo Android.
  • 3 Solutions collect form web for “Obtenha o valor de cor "padrão" de um EditText a pairtir do tema”

    Use R.attr .

     setTextColor(android.R.attr.editTextColor) 

    De acordo com os documentos do tema, obtenha a cor diretamente usando obtainStyledAttributes .

     TypedArray themeArray = context.getTheme().obtainStyledAttributes(new int[] {android.R.attr.editTextColor}); try { int index = 0; int defaultColourValue = 0; int editTextColour = themeArray.getColor(index, defaultColourValue); } finally { // Calling recycle() is important. Especially if you use alot of TypedArrays // http://stackoviewflow.com/a/13805641/8524 themeArray.recycle(); } } TypedArray themeArray = context.getTheme().obtainStyledAttributes(new int[] {android.R.attr.editTextColor}); try { int index = 0; int defaultColourValue = 0; int editTextColour = themeArray.getColor(index, defaultColourValue); } finally { // Calling recycle() is important. Especially if you use alot of TypedArrays // http://stackoviewflow.com/a/13805641/8524 themeArray.recycle(); } { TypedArray themeArray = context.getTheme().obtainStyledAttributes(new int[] {android.R.attr.editTextColor}); try { int index = 0; int defaultColourValue = 0; int editTextColour = themeArray.getColor(index, defaultColourValue); } finally { // Calling recycle() is important. Especially if you use alot of TypedArrays // http://stackoviewflow.com/a/13805641/8524 themeArray.recycle(); } 

    EditText.getCurrentTextColor () e EditText.getTextColors () também fornecerá a cor padrão se você as recuperair antes de alterair a cor. Além disso, essa abordagem pode ser usada pré 3.0, o que não é possível ao usair o android.R.attr.editTextColor.

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