gpt4 book ai didi

android - 如何修改 Android 9patch 图片的颜色?

转载 作者:塔克拉玛干 更新时间:2023-11-02 20:40:11 26 4
gpt4 key购买 nike

我真的不明白如何创建 9patch 图像,但我找到了一个正在处理我的 fragment 的图像。问题是边框外的颜色不是背景的颜色。我尝试将像素的颜色从图像更改为背景颜色,但生成的图像不再有效。这是有效但颜色错误的图像:

http://i.stack.imgur.com/cJBfV.png

如何更改边界外像素的颜色,或者如何创建看起来像那样的新 9patch 图像?

最佳答案

您可以使用支持 v4 的 DrawableCompat

下一个代码显示了如何更改 Toast 颜色。
如您所知,toast 背景是一个名为 toast_frame.9.png 的 9patch Drawable(您可以在您的 sdk 目录中找到它)。

Toast toast = Toast.makeText(this, content, Toast.LENGTH_SHORT);
toastView.findViewById(android.R.id.message);
View toastView = toast.getView();
Drawable toastBg = toastView.getBackground();
Drawable drawable = tintDrawable(toastBg, ColorStateList.valueOf(Color.RED));
toastView.setBackground(drawable);
toast.setView(toastView);
toast.show();

public Drawable tintDrawable(Drawable drawable, ColorStateList colors) {
final Drawable wrappedDrawable = DrawableCompat.wrap(drawable);
DrawableCompat.setTintList(wrappedDrawable, colors);
return wrappedDrawable;
}

如果您想了解更多,请点击:
http://www.race604.com/tint-drawable

关于android - 如何修改 Android 9patch 图片的颜色?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30551525/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com