如何为android通知制作自定义布局。就像 android 的有按钮的音乐播放器一样,在它的通知音乐中覆盖图像。你有想法吗?能给我举个例子吗?谢谢。
问问题
1189 次
1 回答
0
这就是我为我的音乐播放器应用程序制作自定义通知的方式。首先创建一个notification_expanded.xml 可以用于Android Lollipop 及以上版本
<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 回答