我正在实施AbstractAccountAuthenticator,但我无法找到有关图标的尺寸以及 smallIcon 所需尺寸的信息。
有一个SampleSyncAdapter是用于实现上述内容的示例演示(它还演示了如何实现AbstractThreadedSyncAdapter),但它只为图标和 smallIcon
是否有人知道这两种资源的标准和所需像素大小?
答案 0 :(得分:15)
对于高密度屏幕(drawable-hdpi):
用于中密度屏幕(drawable-mdpi):
/ drawable中的一个可绘制资源是默认的可绘制资源,它是针对正常屏幕大小和中等密度而设计的。系统会为高密度屏幕缩放默认密度资源,为低密度屏幕缩小默认密度资源,因此如果您为hdpi创建目录,而使用给定大小的图标为mdpi创建另一个目录,则会更好。
希望有所帮助。
答案 1 :(得分:0)
icon
和smallIcon
之间的区别有些含糊不清。 Android声明它们都引用了帐户标签左侧的图标(此图中的机器人机器人图标),但使用smallIcon
代替icon
的位置取决于屏幕尺寸。鉴于以下比较,该定义似乎并不准确:
上面比较了两个屏幕宽度不同的设备中的icon和smallIcon。从图中可以看出,android在Accounts页面中使用了smallIcon(上图中的左侧屏幕截图)。较大的图标仅用于显示注释4中帐户类型的不同帐户的页面(右侧屏幕截图),而Nexus 5显示两个屏幕的相同图标大小。由于Nexus 5和Note 4的屏幕宽度分别为388 dp和445 dp,因此可以猜测400 dp的屏幕宽度作为屏幕宽度的阈值,超过该阈值应用较大的图标。尽管如此,这并不准确。 我已经解决了这个主题以及整个Android帐户身份验证主题here
答案 2 :(得分:0)
根据CsaByte提供的具体信息,我最终为我的Authenticator图标添加了这些尺寸。
<强> MDPI 强>
<强> HDPI 强>
<强> xhdpi 强>
<强> xxhdpi 强>
<强> xxxhdpi 强>
将这些drawable放在各自的drawable-density文件夹中。
然后在authenticator.xml中你可以使用:
<account-authenticator xmlns:android="http://schemas.android.com/apk/res/android"
android:accountType="@string/account_type"
android:label="@string/app_name"
android:icon="@drawable/icon"
android:smallIcon="@drawable/smallIcon" />
图标大小与ic_launcher大小相同,如果您不想在应用程序中留下浪费空间并且您不需要身份验证器的自定义图标,则可以使用mipmap ic_launcher。您的authenticator.xml可以写成:
<account-authenticator xmlns:android="http://schemas.android.com/apk/res/android"
android:accountType="@string/account_type"
android:label="@string/app_name"
android:icon="@mipmap/ic_launcher"
android:smallIcon="@drawable/smallIcon" />