instagram 如何在 Android oreo 中不将图标中的形状更改为不同的 mask (圆圈、正方形、泪珠)。
我在本页中创建了Android指示的图标设计Designing Adaptive Icons
安装了 Direct 的设备屏幕截图:
这是代码!
<?xml version="1.0" encoding="utf-8"?>
<adaptive-icon xmlns:android="http://schemas.android.com/apk/res/android">
<background android:drawable="@color/ic_launcher_background"/>
<foreground android:drawable="@mipmap/ic_launcher_foreground"/>
</adaptive-icon>
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
<receiver
android:name=".NotificationReceiver"
android:enabled="true"
android:exported="false"></receiver>
</application>
最佳答案
讨论 here ,如果您的 targetSdkLevel
低于 26,您可以使用您自己的形状图标,但这不是一个好的长期解决方案(您必须通过 November 2018 将目标设为 26+)。如果你想针对 Oreo,你最好的解决方案是生成一个合适的自适应图标。也就是说,我在 Pixel 2 上看到很多图标形状不正确(Google Hangouts、Firebase、Street View、Firefox、Skype、Facebook Messenger、Outlook 等...)以及许多其他形状不正确的图标白色背景上的常规图标。
确切的行为将取决于所使用的启动器,因此如果您依赖启动器允许背景层透明或遵守奇怪的图标形状,您可能会在设备之间获得不一致的图标外观。
为了测试,我制作了一个 targetSdkLevel
为 25 的测试项目,只提供了一个方形图标,然后在装有 Android 8.1 的模拟 Pixel 2 上运行它,得到了一个方形图标,而不是强制为圆形和其他人一样。
然后我将 targetSdkLevel
升级到 27,但没有添加自适应图标,它把我的方形图标放在白色圆圈内。
请注意,您不必将 compileSdkVersion
设置为与 targetSdkVersion
相同的值。您可以将 compileSdkVersion
设置为 27,并使用 v27 支持库,同时将 targetSdkVersion
保持在 25,以获得方形图标(直到 11 月)。
compileSdkVersion 27
defaultConfig {
applicationId "com.example.testproject"
minSdkVersion 15
targetSdkVersion 25
versionCode 1
versionName "1.0"
}
关于java - instagram 或 direct 如何不改变图标启动器中的形状以在 android oreo 中圈出,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51197131/