Quantcast
Channel: kenji matsuokaのニッキ
Viewing all articles
Browse latest Browse all 342

カスタムレイアウトの作成

$
0
0
ウェアラブル向けアプリを作る 目次
原文

ウェアラブル向けのレイアウトの作り方はスクリーンサイズとチラ見できるためのデザインを除けば携帯端末向けと同じです。機能とUIを携帯端末から移植するのではなく、良いエクスペリエンスを生み出してください。あなたは必要なときだけカスタムレイアウトを作ってください。素晴らしいウェアラブルアプリのためのデザイン方法についての情報はデザインガイドライン(翻訳中)を呼んでください。

これも見てください

デザインガイドライン(翻訳中)

カスタムNotificationを作る

普通は携帯端末向けのにNotificationを作り自動的にウェアラブルに同期させます。これにより異なるフォームファクトリーごとにNotificationをデザインしなくても、1つのNotificationを作るだけで多種多様なデバイス上(ウェアラブルに限らず、自動車やテレビなど)で表示できます。

もし,標準的なNotificationスタイル(NotificationCompat.BigTextStyleとかNotificationCompat.InboxStyleなど)ではあなたのアプリではうまく機能を満たせない場合、カスタムレイアウトを使ったActivityを表示できます。カスタムNotificationの作成と発行はウェアラブル上でのみ行うことが出来、システムは携帯端末にNotificationを同期しません。

メモ:ウェアラブル上でカスタムNotificationを作る場合、サポートライブラリの代わりに、標準的なNotification API群(API Level 20)を使用できます。

カスタムNotificationを作るには
1.レイアウトを作り、表示したいActivityのContent Viewにセットする。

public void onCreate(Bundle bundle){
...
setContentView(R.layout.notification_activity);
}

2.ウェアラブルのコンテキストストローププロセス内でActivityを表示できるように、Android manifestにActivityのための必要なプロパティを記載する。Activityをexporte出来て、empededを許可し、 task affinityを空で宣言する必要があります。私達はTheme.DeviceDefault.Lightを設定することを推奨します。
例:

<activity android:name="com.example.MyDisplayActivity"
android:exported="true"
android:allowEmbedded="true"
android:taskAffinity=""
android:theme="@android:style/Theme.DeviceDefault.Light" />

3.Activityを表示するためのPendingIntentを作ります。
例:

Intent notificationIntent = new Intent(this, NotificationActivity.class);
PendingIntent notificationPendingIntent = PendingIntent.getActivity(this, 0, notificationIntent,
PendingIntent.FLAG_UPDATE_CURRENT);

4.Notificationを作りsetDisplayIntent()を呼んでPendingIntentを渡します。システムはユーザーがあなたのNotificationを見ようとした時にこのPendingIntentを使ってActivityを実行します。
5.notify()メソッドを使用してNotificationを発行します。

メモ:Notificationがホームスクリーン上に顔を覗かしている時、システムはNotificationのデータの意味を元に標準のテンプレートで使って表示させます。このテンプレートは全ての文字盤で正しく機能します。ユーザーがNotificationを上へスワイプするとNotificationのカスタムActivityが表示されます。

Wearable UI Libraryを使用したレイアウトの作成

これは非公式のライブラリですが、Android Studio Project Wizardにてウェアラブルアプリを作成すると自動的にインクルードされます。以下の様にdependenciesをbuild.gradleファイルに宣言して追加することも出来ます。

dependencies {
compile fileTree(dir: 'libs', include: ['*.jar'])
compile 'com.google.android.support:wearable:+'
compile 'com.google.android.gms:play-services-wearable:+'
}

このライブラリはウェアラブル向けのUIをデザインするのを助けます。主なクラスは以下のとおりです。
・BoxInsetLayout - スクリーンの形に配慮し、丸いスクリーンの場合、中央に正方形の子要素を入れることが出来るFrameLayout.
・CardFragment - 拡張可能で縦方向にスクロール可能なカードの中にコンテンツを表示するFragment。
・CircledImageView - 円形で囲まれたImage View。
・ConfirmationActivity - ユーザーがアクションを完了させると確認アニメーションを表示します。
・DismissOverlayView - 長押しでのアプリを終了する機能を実装したView。
・GridViewPager - ユーザーが水平、垂直のどちらでもデータのページを見られるようにするレイアウトマネージャー。 あなたが、Viewが表示するページを生成するためには、GridPagerAdapterの実装を提供します。
・GridPagerAdapter - GridViewPagerのページを提供するアダプタ。
・FragmentGridPagerAdapter - それぞれのページがFragmentとして表示されGridPagerAdapterの実装。
・WatchViewStub - 指定したレイアウトをデバイススクリーンの形に適合させてインフレート出来ます。
・WearableListView - 画面が小さなウェアラブルデバイスで簡単に使えるように最適化されたListViewの代替バージョン。

上記クラスの完全なAPIリファレンスをダウンロードする。ドキュメントは各UIウィジェットクラスを使う方法を説明しています。


Except as noted, this content is licensed under Creative Commons Attribution 2.5. For details and restrictions, see the Content License.

Viewing all articles
Browse latest Browse all 342

Trending Articles