流行的 Google 开发人员Romain Guy发表了一篇不错的文章,展示了如何在视图上有效地使用圆角可绘制对象(在他的代码中称为“StreamDrawable” )。
该示例在我的 Galaxy S3 纵向模式下运行良好,但我有一些问题:
如果屏幕很小(例如在 qvga 屏幕上),显示的图像会被裁剪。
如果我的输入位图比我希望的显示方式太小,则输出图像的边缘会被涂抹。即使在 Galaxy S3 上,当您运行示例代码并且它在横向上时,它看起来也很糟糕:
我仍然不确定(因为我使用缩放图像的解决方法来使用示例代码),但它认为即使是这个解决方案在 listView 中使用时也会有点慢。也许有一个渲染脚本解决方案?
我使用 setImageDrawable 还是 setBackgroundDrawable 都没有关系。它必须是可绘制对象本身的东西。
我尝试使用变量和位图着色器,但没有任何效果。遗憾的是, TileMode并没有仅仅拉伸图像的价值,只能以某种方式平铺它。
作为一种解决方法,我可以创建一个新的缩放位图,但这只是一种解决方法。当然有一种更好的方法,它也不会使用比它应该使用的更多的内存。
我如何解决这些问题并使用这个很棒的代码?