我按下按钮后显示ColorPicker对话框的速度很慢。 我的应用应该像这样工作:
我正在为每个按钮创建ColorPicker,因为不知道如何使用一个ColorPicker来改变初始颜色。 8个不同的ColorPickers每个保存最后选择的颜色为指定的按钮,这里没有问题。虽然我将来必须改变它。
问题是,在开始时,ColorPicker对话框在单击按钮后显示~2s(!)使用一次后,单击相同按钮会更快地显示Picker。这是什么原因?
这是我的代码(抱歉,初学者)
public class MainActivity extends AppCompatActivity {
public void pickButtonColor(final Button button) {
final ColorPickerDialog colorPickerDialog = ColorPickerDialog.createColorPickerDialog(this, R.style.CustomColorPicker);
button.setOnClickListener(new View.OnClickListener() {
public void onClick(View v) {
colorPickerDialog.setOnColorPickedListener(new ColorPickerDialog.OnColorPickedListener() {
@Override
public void onColorPicked(int color, String hexVal) {
button.getBackground().setColorFilter(color, Mode.MULTIPLY);
}
});
colorPickerDialog.show();
}
});
}
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
pickButtonColor((Button) findViewById(R.id.button1));
pickButtonColor((Button) findViewById(R.id.button2));
pickButtonColor((Button) findViewById(R.id.button3));
pickButtonColor((Button) findViewById(R.id.button4));
pickButtonColor((Button) findViewById(R.id.button5));
pickButtonColor((Button) findViewById(R.id.button6));
pickButtonColor((Button) findViewById(R.id.button7));
pickButtonColor((Button) findViewById(R.id.button8));
}