2015-08-13 2 views
5

Мне нужно получить текущую текстовую форму TextView, а затем присвоить это значение TextView.setTextColor(). Но я получаю большой int -1979711488138, как я могу получить от него цвет?setTextcolor с помощью getCurrentTextColor()

+0

Каково ваше требование? –

+1

'tv.setTextColor (tv2.getTextColors());' – Rustam

ответ

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

или

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

Это только делает что-то, потому что целое число переполняется. – 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

Предположим, вы хотите установить цвет от textView1 к textView, то вы можете сделать так:

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

Вы не можете поместить число в межд , Я получаю -1979711488, который является # 8A000000, т.е. черный с 138 альфа. Вы можете получить все части цвета, как это:

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

Это действительно странно, почему цвет текста по умолчанию не является сплошным цветом, а черный с альфа-значением, что и является более дорогим для системы.