Androidのバージョンごとに異なるウィジェットをサポートするのは非常に簡単です。
Androidバージョン>=4.0をサポートするには、ウィジェットを適切なフォルダーに配置する必要があります。
/res/xml-v14
/res/layout-v14
[オプション]
-v14
APIレベル14(Android 4.0)を意味します。4.0以降のAndroidバージョンは、これらのフォルダー内のファイルを使用します。正しい式を計算android:minWidth
して使用することを忘れないでください:android:minHeight
cell_size in dp = 70 × n − 30
作業中のウィジェットは既存のフォルダーに残しておくことができます。
正しいフォーラムを使用する:
cell_size in dp = 74 × n - 2
シンプルに保ち、計算された寸法を再利用するために、正しいフォルダに正しい寸法を作成し、サイズを参照することもできます。
/res/values/widget_size.xml
Androidバージョン<4.0のサイズを含むファイルを作成します
<resources>
<dimen name="cell_size_1">72dp</dimen>
<dimen name="cell_size_2">146dp</dimen>
</resources>
/res/values-v14/widget_size.xml
Androidバージョン>=4.0のディメンションを含むファイルを作成します
<resources>
<dimen name="cell_size_1">40dp</dimen>
<dimen name="cell_size_2">110dp</dimen>
</resources>
- ウィジェットのサイズを新しく作成されたディメンションに参照します。
android:minWidth="@dimen/cell_size_2"
android:minHeight="@dimen/cell_size_1"
残念ながら、これはAndroid4.04を実行しているGalaxyTab7.7では機能しません。3x1ウィジェットは2x1ですが、エミュレーターで正しいサイズが表示されます。私はそれがのためだと思います
セルの幅と高さ、およびウィジェットに適用される自動マージンの量はデバイスによって異なる場合がありますが、次の表を使用して、必要な占有グリッドセルの数を指定して、ウィジェットの最小サイズを概算できます。
アプリウィジェットの設計ガイドラインに記載されています