尝试从资源文件夹加载资产时出错:
NinePatchDrawable ninePatchObj = ((NinePatchDrawable) context.getResources().getDrawable(R.drawable.orange_btn));
返回
java.lang.ClassCastException: android.graphics.drawable.BitmapDrawable
使用XML按钮对象时,此资产可正常工作。
感谢您提供的任何帮助。
答案 0 :(得分:2)
实际问题在于image.9.png 顶部和左侧的黑线+底部和右侧的“开始和结束”黑点是不够的(即使教程已表明它们会是这样)。
一旦在图像的所有边添加了一个纯黑色标记,块数据就不会为空并且已成功创建NinePatchDrawable。
答案 1 :(得分:0)
我通过确保底部黑线小于顶部黑线,并且右侧黑线小于左侧黑线,解决了我自己的image.9.png的类似问题。 这是因为可以绘制文本的区域应该小于形状的可调整大小部分。