gpt4 book ai didi

android - 如何在android中对齐通知内容文本

转载 作者:行者123 更新时间:2023-11-30 01:19:30 24 4
gpt4 key购买 nike

我正在开发安卓通知。

我的通知有一个进度条,我想在进度条下方显示百分比,notificationBuilder.setContentText(MyPercentage) 区域。

显示进度百分比不是什么难事。

但是我想显示我的百分比文本右对齐。

This is an example picture.

我的情况比那个例子更复杂,

因为我要显示另一个有进度的信息

喜欢

============================================-------------------------------------------

blablablabla, orange, apple 50%

有什么简单的方法可以正确对齐我的通知内容文本吗?

如果没有,那么我该如何实现通知内容文本?

最佳答案

您可以使用两个 TextView 为您的通知创建自定义布局,其中一个右对齐。然后为该布局创建一个 RemoteViews 对象 (notificationView) 并相应地设置构建器的内容:notificationBuilder.setContent(notificationView);

这是创建自定义通知布局的教程:http://www.laurivan.com/android-notifications-with-custom-layout/

示例

通知布局:

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
>

<ImageView
android:id="@+id/icon"
android:layout_width="wrap_content"
android:layout_height="match_parent"
android:layout_margin="8dp"
android:contentDescription="@string/app_name"
android:src="@mipmap/ic_launcher" />


<LinearLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_margin="8dp"
android:layout_toRightOf="@+id/icon"
android:gravity="center_vertical"
android:orientation="vertical">

<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal">

<TextView
android:id="@+id/the_title"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/app_name"
android:textAppearance="@android:style/TextAppearance.Material.Notification.Title"
/>

</LinearLayout>

<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal">

<TextView
android:id="@+id/some_text_left"
android:textAppearance="@android:style/TextAppearance.Material.Notification"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
/>
<TextView
android:id="@+id/some_text_right"
android:textAppearance="@android:style/TextAppearance.Material.Notification"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:gravity="right"
/>

</LinearLayout>

</LinearLayout>

</RelativeLayout>

创建通知 View :

private RemoteViews getNotificationView(){
RemoteViews notificationView = new RemoteViews(getPackageName(), R.layout.activity_temperature_notificaiton);

notificationView.setImageViewResource(R.id.icon, R.drawable.le_icon);
notificationView.setTextViewText(R.id.the_title, "OMGWTFBBQ");
notificationView.setTextViewText(R.id.some_text_left, "blablablabla, orange, apple");
notificationView.setTextViewText(R.id.some_text_right, "50%");

return notificationView;
}

显示通知:

private void addNotification() {
RemoteViews notificationView = getNotificationView();

if(notificationView == null)
return;

NotificationCompat.Builder notificationBuilder =
new NotificationCompat.Builder(this)
.setSmallIcon(R.drawable.le_icon);

notificationBuilder.setContent(notificationView);

....

manager.notify(NOTIFICAITON_ID, notificationBuilder.build());
}

关于android - 如何在android中对齐通知内容文本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37343081/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com