hem*_*tsb 2 android android-manifest
我的应用程序遇到了一个令人惊讶的问题。
当我anyDensity在清单中添加false标签时,我的应用程序运行良好,但是每当我做到这一点时,我的应用程序就会表现模糊,我将在我的应用程序上创建一些位图。如果我确实anyDensity在清单中标记为false,那么任何设备都会出现问题,那么许多设备将无法在Playstore上看到我的应用程序,我们将不胜感激。
<supports-screens
android:anyDensity="false"
android:largeScreens="true"
android:normalScreens="true"
android:smallScreens="true" />
Run Code Online (Sandbox Code Playgroud)
但是,您的原始帖子中没有太多信息。该文档指出:
指示应用程序是否包括可容纳任何屏幕密度的资源。对于支持Android 1.6(API级别4)及更高版本的应用程序,默认情况下为“ true”,除非您绝对确定应用程序正常运行,否则不应将其设置为“ false”。唯一可能需要禁用此功能的情况是,如果您的应用程序直接操作位图
因此,我的第一个问题是,您是否包括所有资源以适应任何屏幕密度(即mdpi,hdpi,xhdpi,xxhdpi)?如果是,则应该没问题。在上面引用的最后一句话之后,我到达了此链接。
它说:
应用程序可以通过在清单中将android:anyDensity设置为“ false”来禁用预缩放,或者通过将inScaled设置为“ false”来以编程方式为位图禁用预缩放。
您是否尝试过以编程方式为位图执行此操作,而不是为整个应用程序全局禁用此标志?
最后是本节。也许会对您正确处理自定义位图有帮助?具体来说,此段听起来像是您的问题:
如果您的应用程序创建了一个内存中位图(一个位图对象),则系统默认认为该位图是为基线中等密度屏幕设计的,并在绘制时自动缩放该位图。当位图具有未指定的密度属性时,系统会将“自动缩放”应用于位图。如果您没有正确考虑当前设备的屏幕密度并指定位图的密度属性,则自动缩放可能会导致缩放伪像,就像您不提供替代资源时一样。
| 归档时间: |
|
| 查看次数: |
2665 次 |
| 最近记录: |