selector使用.9图的问题

项目中遇到selector中错误使用.9图的情况

参考:https://www.jianshu.com/p/a3ee9db15590

当使用selector设置button按压效果透明度变化时,我们通常会这样设置



    
        
    
    

但是当select_btn是.9图时,这样使用会导致按压效果时,图片异常。
原因是bitmapdraw不支持.9图的拉伸,可参考https://blog.csdn.net/a49220824/article/details/53267972提到的现象
如果是绘制,我们会用NinePatch解决,如下:

Bitmap bitmap = BitmapFactory.decodeResource(getResources(), R.drawable.bubble);
NinePatch ninePatch = new NinePatch(bitmap, bitmap.getNinePatchChunk(), null);
RectF rectF = new RectF(l, t, r, b);
ninePatch.draw(canvas, rectF);

在selector中我们使用nine-patch标签即可解决此问题



    
        
    
    

你可能感兴趣的:(selector使用.9图的问题)