【发布时间】:2013-05-02 06:29:26
【问题描述】:
我正在为手机制作一个安卓应用。我的 UI 没有针对平板电脑进行优化,所以我不希望平板电脑用户使用它。如何限制我的应用在平板电脑上运行?
【问题讨论】:
标签: android
我正在为手机制作一个安卓应用。我的 UI 没有针对平板电脑进行优化,所以我不希望平板电脑用户使用它。如何限制我的应用在平板电脑上运行?
【问题讨论】:
标签: android
您必须在清单中使用 <compatible-screens> 元素来明确声明您希望支持的屏幕尺寸和密度。
以下示例来自the documentation on this subject:
<compatible-screens>
<!-- all small size screens -->
<screen android:screenSize="small" android:screenDensity="ldpi" />
<screen android:screenSize="small" android:screenDensity="mdpi" />
<screen android:screenSize="small" android:screenDensity="hdpi" />
<screen android:screenSize="small" android:screenDensity="xhdpi" />
<!-- all normal size screens -->
<screen android:screenSize="normal" android:screenDensity="ldpi" />
<screen android:screenSize="normal" android:screenDensity="mdpi" />
<screen android:screenSize="normal" android:screenDensity="hdpi" />
<screen android:screenSize="normal" android:screenDensity="xhdpi" />
</compatible-screens>
请注意,该示例存在缺陷,因为它会阻止您的应用出现在-xxhdpi 设备(例如 SONY Xperia Z、Droid DNA)上。您还需要为 xxhdpi 添加另一对 <screen> 元素以涵盖该场景:
<compatible-screens>
<!-- all small size screens -->
<screen android:screenSize="small" android:screenDensity="ldpi" />
<screen android:screenSize="small" android:screenDensity="mdpi" />
<screen android:screenSize="small" android:screenDensity="hdpi" />
<screen android:screenSize="small" android:screenDensity="xhdpi" />
<screen android:screenSize="small" android:screenDensity="xxhdpi" />
<!-- all normal size screens -->
<screen android:screenSize="normal" android:screenDensity="ldpi" />
<screen android:screenSize="normal" android:screenDensity="mdpi" />
<screen android:screenSize="normal" android:screenDensity="hdpi" />
<screen android:screenSize="normal" android:screenDensity="xhdpi" />
<screen android:screenSize="normal" android:screenDensity="xxhdpi" />
</compatible-screens>
【讨论】:
large 和 xlarge 覆盖屏幕尺寸为 5" 及以上的设备。您是否将这些设备视为“平板电脑”取决于您。“将 android:xlargeScreens="false" 添加到 -xlarge 屏幕的支持。因此,Android 将为您扩展您的 UI,您的应用仍将发布到-xlarge 设备。