0

アイコン付きのダッシュボードを備えたアプリがあります。アプリには、アイコン付きの drawable-hdpi フォルダーのみがあります。

4.0 と 4.1 の両方のエミュレーターを起動し、Eclipse からアプリを起動すると、アイコンの品質が大幅に異なります。ジェリービーンでは醜いです。

何が起こっている??

ICS ゼリービーン

部分マニフェスト

    <uses-sdk
        android:minSdkVersion="7"
        android:targetSdkVersion="14" />

    <supports-screens
        android:anyDensity="false"
        android:largeScreens="false"
        android:normalScreens="true"
        android:smallScreens="false" >
    </supports-screens>

    <uses-permission android:name="android.permission.INTERNET" />
    <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
4

1 に答える 1

1

マニフェスト (具体的には属性)supports-screenからタグを削除します。anyDensityドキュメントによると:

Android:anyDensity

任意の画面密度に対応するリソースがアプリケーションに含まれているかどうかを示します。Android 1.6 (API レベル 4) 以降をサポートするアプリケーションの場合、これはデフォルトで「true」です。アプリケーションが動作するために必要であることが絶対に確実でない限り、「false」に設定しないでください。これを無効にする必要があるのは、アプリがビットマップを直接操作する場合のみです (詳細については、複数画面のサポートに関するドキュメントを参照してください)。

4.0 と 4.1 の間で何が起こって違いが生じるのか正確にはわかりませんが、ほとんどの場合、anyDensityタグを設定することは非常に特殊な状況以外では悪い考えです。デフォルトのリソースを提供している限り (たとえば、非特定のdrawableフォルダー内)、それを指定する必要はありません。

于 2012-09-24T14:43:08.617 に答える