首页 > 解决方案 > Android如何设计一个部分着色的按钮

问题描述

我想做的就是这样的:

在此处输入图像描述

它应该是默认的 Android 按钮设计,我想以动态和编程方式更改颜色。而且我不想要渐变效果。

有人可以帮我吗?

标签: androidbutton

解决方案


不完全是我要求的,但这是我的解决方案:

Integer iColor = getColor();

Integer scaleWidth = myButton.getWidth();
Integer scaleHeight = myButton.getHeight();

Drawable drawable = getResources().getDrawable(R.drawable.myDrawable);
Drawable wrappedDrawable = DrawableCompat.wrap(drawable);
DrawableCompat.setTint(wrappedDrawable, iColor);

wrappedDrawable.setBounds(0, 0, (int)(wrappedDrawable.getIntrinsicWidth()*0.5), (int)(wrappedDrawable.getIntrinsicHeight()*0.5));
ScaleDrawable sd = new ScaleDrawable(wrappedDrawable, 0, scaleWidth, scaleHeight);

myButton.setCompoundDrawables(null, null, sd.getDrawable(), null);

推荐阅读