2015-08-13 10 views

Odpowiedz

3
Integer intColor = -1979711488138; 
String hexColor = "#" + Integer.toHexString(intColor).substring(2); 

lub

String hexColor = String.format("#%06X", (0xFFFFFF & intColor)); 
+0

To robi tylko coś, ponieważ liczba całkowita przepełnia. – 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

Załóżmy, że chcemy, aby ustawić kolor z textView1 do textView wtedy można zrobić tak:

textView.setTextColor(textView1.getCurrentTextColor()); 
0

Nie można dopasować liczbę do int Dostaję -1979711488, czyli # 8A000000, czyli czarny z 138 alfa. Możesz pobrać wszystkie części koloru tak:

int color = getCurrentTextColor(); 
int a = Color.alpha(color); 
int r = Color.red(color); 
int g = Color.green(color); 
int b = Color.blue(color); 

To naprawdę dziwne, dlaczego kolor domyślny tekst nie jest stały, lecz kolor czarny z wartością alfa jako że jest bardziej kosztowne dla systemu.

Powiązane problemy