gpt4 book ai didi

android - Vector Drawables 在 ANDROID NOUGAT 上显示模糊图像

转载 作者:行者123 更新时间:2023-11-30 00:29:41 29 4
gpt4 key购买 nike

我是安卓新手。我正在尝试在我的应用程序中使用矢量可绘制对象。下面的代码在 Marshmallow 版本之前工作正常。在较低版本上也能正常工作。但是,一旦我在牛轧糖上运行它,图像就会变得模糊。

我的 build.gradle (project) 版本是 2.0+ 并在我的 build.gradle (app) 中添加了以下代码

android {
compileSdkVersion 25
buildToolsVersion "25.0.2"
defaultConfig {
minSdkVersion 15
targetSdkVersion 25
vectorDrawables.useSupportLibrary = true
}

支持版本为:

compile 'com.android.support:appcompat-v7:25.3.1'

另外我在onCreate方法中添加了下面的代码

 protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);

AppCompatDelegate.setCompatVectorFromResourcesEnabled(true);

在我的 XML 中:

<ImageView
android:layout_width="200dp"
android:layout_height="200dp"
app:srcCompat = "@drawable/ic_camera_black_24dp"/>

最佳答案

我试了一下你的代码,我发现这个问题似乎是由使用相同图标的不同尺寸引起的。在您的特定情况下,您的 ImageView 带有 200x200dp 的矢量图标,并且使用 setCompoundDrawablesRelativeWithIntrinsicBounds 方法附加到 TextView 的相同图标使用矢量定义了 widthheight 以确定其大小。 (在你的情况下是 24dp)

此行为背后的主要原因是这位 Google 工程师的回复,您可以找到 here .

因此,如果您不希望将来出现问题,则不应使用大小为 200x200dp 和 24x24dp 的相同矢量图标,因为系统会创建一些缓存位图(以优化性能),而这些位图不会您需要的大小,这可能会导致某些设备上的图像模糊。

如果您需要大小完全不同的完全相同的图标,请使用多个 Vector drawables。

PS:关于您关于如何将 JPEG 或 PNG 转换为矢量可绘制对象的评论问题,我可以说矢量不应该由照片构建(即使可能它非常困难和昂贵),矢量只有在以下情况下才方便你使用小路径,这就是为什么它们只用于图标或 Logo

关于android - Vector Drawables 在 ANDROID NOUGAT 上显示模糊图像,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44668636/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com