Мне нужно получить текущую текстовую форму TextView, а затем присвоить это значение TextView.setTextColor(). Но я получаю большой int -1979711488138, как я могу получить от него цвет?setTextcolor с помощью getCurrentTextColor()
5
A
ответ
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);
Это действительно странно, почему цвет текста по умолчанию не является сплошным цветом, а черный с альфа-значением, что и является более дорогим для системы.
Каково ваше требование? –
'tv.setTextColor (tv2.getTextColors());' – Rustam