1

Android通知のカスタムレイアウトを作成する方法. Android のミュージック プレーヤーと同じようにボタンがあり、通知音楽に画像が表示されます。アイデアはありますか?例を挙げていただけますか?ありがとう。

4

1 に答える 1

0

これは、音楽プレーヤー アプリのカスタム通知を作成する方法です。まず、Android Lollipop 以降で使用できる notification_expanded.xml を作成します。

<RelativeLayout
android:id="@+id/notificationbg"
android:layout_width="match_parent"
android:layout_height="125dp"
android:background="#212121"
xmlns:android="http://schemas.android.com/apk/res/android">

<ImageView
    android:id="@+id/status_bar_album_art"
    android:layout_width="@dimen/notification_expanded_height"
    android:layout_height="@dimen/notification_expanded_height"
    android:scaleType="fitXY"
    android:layout_marginTop="10dp"
    android:layout_toRightOf="@+id/status_bar_collapse"/>

 <ImageButton
    android:id="@id/status_bar_collapse"
    android:background="?android:selectableItemBackground"
    android:padding="2dp"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:src="@android:drawable/ic_menu_close_clear_cancel"
    android:layout_alignParentTop="true"
    android:layout_alignParentLeft="true" />

 </RevaliveLayout>

上記のコードはランダムです。このように通知が完全に展開されている場合は、そこに何でも入れることができます。

次に、通知が小さいときに表示する notification_small_view.xml を作成します。

通知を開始するサービスで、適切な大きなビューと小さなビューを設定します。

RemoteViews views = new RemoteViews(getPackageName(),
                R.layout.notification_small_view);
RemoteViews bigViews = new RemoteViews(getPackageName(),
                R.layout.notification_expanded);

このように、拡張または小さな通知でデータを動的に設定します。

bigViews.setTextViewText(R.id.status_bar_track_name, songTitle);
views.setTextViewText(R.id.status_bar_track_name, songTitle);

次に、これらのレイアウトを通知に設定します。

Notification notification.contentView = views;
notification.bigContentView = bigViews;
于 2016-02-15T02:19:43.280 に答える