更改主题布局颜色
依赖:
implementation 'com.afollestad.material-dialogs:commons:0.9.6.0' implementation 'com.afollestad.material-dialogs:core:0.9.6.0'
主页面实现
ColorChooserDialog.ColorCallback
重写
@Override public void onColorSelection(@NonNull ColorChooserDialog dialog, int selectedColor) { flLeft.setBackgroundColor(selectedColor); texttheum.setBackgroundColor(selectedColor); rightAbapter.getColor(selectedColor); rightAbapter.notifyDataSetChanged(); } @Override public void onColorChooserDismissed(@NonNull ColorChooserDialog dialog) {
}
在点击按钮里写:
//颜色的数组 int[] primary = new int[] { Color.parseColor("#F44336"), Color.parseColor("#FF0000"), Color.parseColor("#FFFF00"), Color.parseColor("#00FF00"), Color.parseColor("#0000FF"), Color.parseColor("#00FFFF"), Color.parseColor("#FF00FF") }; //有些按钮是系统默认的 new ColorChooserDialog.Builder(MainActivity.this, R.string.color_palette) .accentMode(true)// .customColors(primary, null)//两个颜色数组 .dynamicButtonColor(false)//动态按钮颜色 .customButton(0)//设置颜色不显示 .cancelButton(R.string.cancle) .doneButton(R.string.done) .show(MainActivity.this);//传入上下文适配器中:
private int color = -121345;默认主题颜色
viewHolder.textone.setTextColor(color);
//接口
public void getColor(int color){ this.color = color; }