McDaggen Asked:2020-11-08 17:53:31 +0000 UTC2020-11-08 17:53:31 +0000 UTC 2020-11-08 17:53:31 +0000 UTC 通过移动滑块更改文本颜色 772 是否可以Seekbar挂起ColorPicker或其他东西,例如随着滑块的移动,文本的颜色会发生变化? java 1 个回答 Voted Best Answer eugeneek 2020-11-08T19:11:55Z2020-11-08T19:11:55Z 底线是你挂一个监听器SeekBar,监听值并手动将值转换为颜色。例如像这样: SeekBar seekBar = findViewById(R.id.seekBar); seekBar.setMax(256 * 7 - 1); seekBar.setOnSeekBarChangeListener(new SeekBar.OnSeekBarChangeListener() { @Override public void onProgressChanged(SeekBar seekBar, int progress, boolean fromUser) { if (fromUser){ int r = 0; int g = 0; int b = 0; if (progress < 256){ b = progress; } else if (progress < 256 * 2) { g = progress % 256; b = 256 - progress % 256; } else if (progress < 256 * 3) { g = 255; b = progress % 256; } else if (progress < 256 * 4) { r = progress % 256; g = 256 - progress % 256; b = 256 - progress % 256; } else if (progress < 256 * 5) { r = 255; g = 0; b = progress % 256; } else if (progress < 256 * 6) { r = 255; g = progress % 256; b = 256 - progress % 256; } else if (progress < 256 * 7) { r = 255; g = 255; b = progress % 256; } targetTextView.setTextColor(Color.argb(255, r, g, b)); } } @Override public void onStartTrackingTouch(SeekBar seekBar) { } @Override public void onStopTrackingTouch(SeekBar seekBar) { } }); 示例取自enSO。
底线是你挂一个监听器
SeekBar,监听值并手动将值转换为颜色。例如像这样:示例取自enSO。