Android Palette颜色选择器的使用

1.页面总体使用线性布局(LinearLayout)

2.将Toolbar(顶部菜单栏)拖入design模式下的设计界面中

3.颜色选择器需要在build.gradle中手动的添加

compile 'com.android.support:palette-v7:28.0.0'

4.代码

public class MainActivity extends AppCompatActivity {
    Toolbar toolbar;  //天坑:Toolbar有两个版本,导包一定要正确
    TextView textView1;
    ImageView imageView;
    int picture[]={R.mipmap.img1,R.mipmap.img2,R.mipmap.img3,R.mipmap.img4,R.mipmap.img5};
    int i=0;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        toolbar=findViewById(R.id.toolbar);
        textView1=findViewById(R.id.textView);
        imageView=findViewById(R.id.imageView);
        imageView.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                i++;
                i=i%picture.length;
                imageView.setImageResource(picture[i]);
                Bitmap bitmap=BitmapFactory.decodeResource(getResources(),picture[i]);
                Palette.generateAsync(bitmap, new Palette.PaletteAsyncListener() {
                    @Override
                    public void onGenerated(@Nullable Palette palette) {
                        Palette.Swatch swatch=palette.getVibrantSwatch();
                        if(swatch!=null){
                            toolbar.setBackgroundColor(swatch.getRgb());
                            textView1.setTextColor(swatch.getTitleTextColor());
                        }
                    }
                });
            }
        });

    }
}

猜你喜欢

转载自www.cnblogs.com/luckyplj/p/10473669.html
今日推荐