Ho bisogno di ottenere la forma del testo corrente TextView e quindi assegnare questo valore a TextView.setTextColor(). Ma ottengo un grande int -1979711488138, come posso ottenere un colore da esso?setTextcolor utilizzando getCurrentTextColor()
5
A
risposta
3
Integer intColor = -1979711488138;
String hexColor = "#" + Integer.toHexString(intColor).substring(2);
o
String hexColor = String.format("#%06X", (0xFFFFFF & intColor));
+0
Questo fa qualcosa solo perché l'intero trabocca. – headsvk
0
public class MainActivity extends Activity
{
private TextView txtViewIpLable,textView1;
@Override
protected void onCreate(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
init();
textView1.setTextColor(txtViewIpLable.getTextColors());
}
private void init()
{
// TODO Auto-generated method stub
txtViewIpLable = (TextView) findViewById(R.id.txtViewIpLable);
textView1 = (TextView) findViewById(R.id.textView1);
}
}
0
Supponiamo di voler impostare il colore textView1
-textView
allora si può fare in questo modo:
textView.setTextColor(textView1.getCurrentTextColor());
0
Non è possibile inserire il numero in un int , Ottengo -1979711488 che è # 8A000000 cioè nero con 138 alfa. È possibile ottenere tutte le parti del colore in questo modo:
int color = getCurrentTextColor();
int a = Color.alpha(color);
int r = Color.red(color);
int g = Color.green(color);
int b = Color.blue(color);
E 'davvero strano perché il colore del testo di default non è un colore solido, ma piuttosto nero con un valore di alfa come che è più costoso per il sistema.
qual è il tuo requisito? –
'tv.setTextColor (tv2.getTextColors());' – Rustam