首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >用代码创建一个九补丁镜像

用代码创建一个九补丁镜像
EN

Stack Overflow用户
提问于 2013-01-21 23:34:47
回答 2查看 4.8K关注 0票数 5

我正在尝试以编程方式创建九个补丁映像。我已经尝试了Griffey's方法,但似乎不能让它工作。关于如何使用这个类的信息很少。我认为我导入的位图不正确。如果有人知道如何让它工作,或者知道更好的方法,我将非常感谢您的帮助。

我的代码:

代码语言:javascript
运行
复制
// Dynamically create the 9patch image and apply it to a LinearLayout
LinearLayout llcode = (LinearLayout) findViewById(R.id.llcode);
Bitmap bitmap = BitmapFactory.decodeResource(getResources(), R.drawable.white_button);
Drawable np = NinePatchBitmapFactory.createNinePathWithCapInsets(getResources(), bitmap, 15, 15, 16, 16, null);

llcode.setBackgroundDrawable(np);

// The following code using the actual 9patch image: white_button_np.9.png
LinearLayout llxml = (LinearLayout) findViewById(R.id.llxml);
llxml.setBackgroundDrawable(getResources().getDrawable(R.drawable.white_button_np));

此屏幕截图显示了顶部的编程方法和底部使用android工具的典型9patch方法。

转换为9补丁之前的原始图像。

EN

回答 2

Stack Overflow用户

发布于 2013-01-22 20:00:04

你有没有尝试过强制解码器配置,以确保有一个alpha通道?

尝试将inPreferredConfig设置为ARGB_8888

票数 0
EN

Stack Overflow用户

发布于 2014-01-20 21:14:59

解决方案在这里:https://stackoverflow.com/a/16676419/238845。我已经在API level 10仿真器上成功地测试了它。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/14442011

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档