android - Nine-Patch Drawable 与 Shape Drawable。应该首选哪个?

标签 android

我和我的同事并行开发了两个应用程序,每个应用程序都具有相似的样式。这些应用程序的主视图背景是径向渐变。他将他的实现为一个九补丁图像,我用一个可绘制的形状来实现。两者都产生相似且可接受的结果。

所以我的问题是,我们应该使用哪个?内存消耗和性能之间是否存在权衡?我想图像可能需要一些时间来加载,但可绘制的形状需要更多时间来绘制(由于计算)。然后将这些存储在缓存中并且这些惩罚仅在它们第一次显示时发生,或者这些问题是否持续存在???

可绘制形状:

<shape xmlns:android="http://schemas.android.com/apk/res/android" android:shape="rectangle">
    <gradient
        android:startColor="#003472"
        android:endColor="#000034"
        android:gradientRadius="350"
        android:type="radial"/>
</shape>

9-patch :

enter image description here

最佳答案

Shape drawable 非常适合具有简单恒定颜色变化的渐变图像。 另一方面,9-patch 图像非常适合具有大量细节、拉伸(stretch)区域颜色恒定的图像。

关于android - Nine-Patch Drawable 与 Shape Drawable。应该首选哪个?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10998236/

相关文章:

android - 替代 findViewById 的 Kotlin Android 扩展如何防止空 View ?

java - 在 Activity 之间共享 ArrayList 的良好编程实践

javascript - Android WebView 自动登录

android - 具有自定义颜色属性的 TextView 不会在布局预览中呈现

java - RecyclerView 没有在底部调用 onScrolled

java - 如何将 Android Wear Activity 类导入移动 Activity 类?

android - 多次调用的服务自行结束

android - Android 中 su 二进制文件的 suid 标志

java - 是否可以使用条件定义添加 @Override 关键字(我的意思是仅在某些 API 版本上)

Nougat 7 不支持 Android 相机裁剪