Android MはBluetoothで通信するスタイラス(ペン型デバイス)を使用して、ユーザーの入力改善をサポートします。ユーザーはスマートフォンやタブレットにスタイラスをBluetoothでペアリングできます。接続している間、タッチスクリーンイベントには位置情報に加えてスタイラスからの圧力とボタン情報が加わります。
アプリはスタイラスによるボタン押下と、その次のアクションを、新しいView.onStylusButtonPressListenerとGestureDetector.OnStylusButtonPressListenerコールバックを登録することでイベントとして受け取れます。
MotionEventのメソッドと定数を使用し、スタイラスのボタン操作を検出するには以下のように行います。
ユーザーがテキストを選択すると、アプリはカット、コピー、ペーストアクションをフローティングツールバーとして表示させることができます。これはアクションバーに表示されるものと同様で、ユーザーの行動に応じたアクションを表示させることができます。
テキスト選択時のフローティングツールバーを実装するには、アプリに以下の修正を施します。
Android Mでは、実行するアプリが表示解像度互換のあるハードウエア上で4Kレンダリングにアップグレードすることを要求できます。現在の物理解像度を照会するには、新しいandroid.view.Display.Modeを使用します。UIが低い論理解像度で描画され、物理的な解像度にアップスケールされる場合、解像度が物理的に上がり、Display.Mode.getPhysicalWidth()とgetSize()の返す値が異なる場合があることに注意してください。
開発者はWindowManager.LayoutParams.preferredDisplayModeIdプロパティをアプリ内のウインドーに設定することにより、物理解像度を変更するようにシステムに要求できます。この機能は4K解像度に変更したい場合に使用できます。4Kディスプレーモード中は、UIを、例えば1080pなどで、元の解像度でレンダリングされるようにしつつ、SurfaceViewオブジェクトはネイティブ解像度のコンテンツを表示できます。
Android Mでは、テーマ属性がColorStateListをサポートしました。getColorStateList()とgetColor()は非推奨になりました。もし、これらのAPIを呼び出すなら、代わりに新しいContext.getColorStateList()とContext.getColor()を使用してください。
これらメソッドは、もちろんappcompatライブラリv4のContextCompatでも利用可能です。
Android Mでは、Notificationについて以下のAPI変更がありました。
Android Mは音声操作に加えてアプリに音声会話体験を構築する新しい音声対話APIが提供されます。Activityはandroid.app.Activity.isVoiceInteraction()を呼び出して、音声操作に応答したかどうかを判断します。応答があった場合、アプリはandroid.app.VoiceInteractorを使用してユーザーからの音声確認を要求するためにオプションリストなどから選択できます。
音声操作を実装の詳細については「音声操作開発者サイト」を参照してください。
Copyright © ITmedia, Inc. All Rights Reserved.