18

Jelly Bean は、展開可能なステータス通知のサポートを追加しました。http://developer.android.com/about/versions/jelly-bean.htmlによると:

テンプレート化されたスタイルに加えて、任意のリモート ビューを使用して独自の通知スタイルを作成できます。

どうやってこれを行うのですか?これを行うには、カスタムNotification.Styleを作成する必要があると思います。これは抽象クラスなので、拡張する必要があります。どの部分を拡張する必要があるかについてのドキュメントを見つけることができませんでした。

This SO questionは、基本的な通知に notificaiton.builder を使用する方法の良い例を示しています。これを出発点として使用しています。追加する

.setContent(new RemoteViews(getPackageName(), R.layout.notification)) 

基本的な通知用のカスタム ビューを追加しますが、展開することはできません。

4

2 に答える 2

26

独自に作成する必要があります。RemoteViews次に、拡張コンテンツにカスタムを継承することを指定しますRemoteViews

 RemoteViews expandedView = new RemoteViews(YOUR CONTEXT.getPackageName(), YOUR CUSTOM LAYOUT);
 Notification notification = mBuilder.build();
 notification.bigContentView = expandedView;

bigContentViewそれがあなたが探しているものであることに注意してください。Notification.BuilderオブジェクトですmBuilder

于 2012-09-12T05:01:31.430 に答える
13

それを行う方法と独自のレイアウトを作成する方法に関する優れたチュートリアルがここにあります。

ここに画像の説明を入力

基本的に、レイアウトで remoteView を作成し、通知オブジェクトで bigContentView として設定する必要があります。ところで、OS が小さい contentView を使用する場合があるため、レギュラー contentView も必ず追加してください。

于 2012-09-14T20:14:26.773 に答える