NinePatchDrawable> java.lang.ClassCastException

时间:2012-06-11 21:40:37

标签: android

尝试从资源文件夹加载资产时出错:

NinePatchDrawable ninePatchObj = ((NinePatchDrawable) context.getResources().getDrawable(R.drawable.orange_btn));

返回

java.lang.ClassCastException: android.graphics.drawable.BitmapDrawable

使用XML按钮对象时,此资产可正常工作。

感谢您提供的任何帮助。

2 个答案:

答案 0 :(得分:2)

实际问题在于image.9.png 顶部和左侧的黑线+底部和右侧的“开始和结束”黑点是不够的(即使教程已表明它们会是这样)。

一旦在图像的所有边添加了一个纯黑色标记,块数据就不会为空并且已成功创建NinePatchDrawable。

答案 1 :(得分:0)

我通过确保底部黑线小于顶部黑线,并且右侧黑线小于左侧黑线,解决了我自己的image.9.png的类似问题。 这是因为可以绘制文本的区域应该小于形状的可调整大小部分。