ウィジェットの設定ファイルは「res/xml」ディレクトリに作成しますが、Andorid Studio自動作成することができます。
<サンプル>
<?xml version="1.0" encoding="utf-8"?>
<appwidget-provider xmlns:android="http://schemas.android.com/apk/res/android"
android:initialKeyguardLayout="@layout/new_app_widget"
android:initialLayout="@layout/new_app_widget"
android:minHeight="80dp"
android:minWidth="80dp"
android:previewImage="@drawable/example_appwidget_preview"
android:resizeMode="none"
android:updatePeriodMillis="86400000"
android:widgetCategory="home_screen">
</appwidget-provider>
<解説>
①基本タグ。これは変更する必要はありません。
<?xml version="1.0" encoding="utf-8"?>
<appwidget-provider xmlns:android="http://schemas.android.com/apk/res/android"
②ロック画面用のレイアウト設定ファイルを指定しています。
android:initialKeyguardLayout="@layout/new_app_widget"
③基本のレイアウト設定ファイルを指定しています。
android:initialLayout="@layout/new_app_widget"
④ウィジェットの最小サイズを任意で指定します。縦と横にそれぞれ「80dp」を指定た場合は「1ブロック×1ブロック」の最小サイズになります。
android:minHeight="80dp"
android:minWidth="80dp"
<ウィジェットサイズ>
"80dp"・・・1ブロックサイズ
"110dp"・・・2ブロックサイズ
"180dp"・・・3ブロックサイズ
"250dp"・・・4ブロックサイズ
⑤ウィジェット一覧に表示するプレビュー画像を指定しています。
android:previewImage="@drawable/example_appwidget_preview"
⑥ウィジェットサイズの変更についての設定です。
android:resizeMode="none"
"none"・・・縦と横どちらもサイズの変更ができない。
"horizontal"・・・横サイズ変更のみ可能にする。
"vertical"・・・経てサイズ変更のみ可能にする。
"horizontal|vertical"・・・縦と横のサイズ変更を可能にする。
⑦ウィジェットの更新時間(ミリ秒)を指定しています。サンプルの場合は24時間で更新になっています。
android:updatePeriodMillis="86400000"
※注意・・・最短更新時間は30分(1800000ミリ秒)になっているため、"1800000"以下を指定しても実際は30分(1800000ミリ秒)での更新になります。
⑧このウィジェット設定のカテゴリーを指定しています。サンプルの場合は「ホームスクリーン」になります。
android:widgetCategory="home_screen">
"keyguard"・・・ロック画面にする。
"home_screen"・・・ホームスクリーンにする。
"keyguard|home_screen"・・・ロック画面とホームスクリーンの両方を兼ねる。