在长文本通知的情况下,MI/XIAOMI 手机上仅显示单行(修剪文本)

Posted

技术标签:

【中文标题】在长文本通知的情况下,MI/XIAOMI 手机上仅显示单行(修剪文本)【英文标题】:In case of Long Text Notifications only single line (Trimmed Text) is appearing on MI/XIAOMI Phone 【发布时间】:2017-09-07 10:59:58 【问题描述】:

如果文本长度超过50个字符,那么通知栏上只会显示一行,以防f MI/XIAOMI手机,但在其他手机上可以正常工作

仅供参考:我们已经在使用大文本样式通知

任何解决方法

【问题讨论】:

【参考方案1】:

您必须为小米使用自定义通知,这将有助于其他手机也有开发人员超过自定义操作系统。试试这个

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

    <ImageView
        android:id="@+id/images"
        android:layout_
        android:layout_
        android:src="@mipmap/ic_launcher" />

    <TextView
        android:id="@+id/titles"
        android:layout_
        android:layout_
        android:layout_marginStart="5dp"
        android:layout_toEndOf="@+id/images"
        android:text="Title"
        android:textColor="@color/colorAccent"
        android:textSize="20sp" />

    <TextView
        android:id="@+id/notvalue"
        android:layout_
        android:layout_
        android:layout_alignStart="@+id/titles"
        android:layout_below="@+id/titles"
        android:layout_toEndOf="@id/images"
        android:text="Message"
        android:textColor="@color/colorPrimary" />
</RelativeLayout>

通知代码:

 RemoteViews remoteViews = new RemoteViews(getPackageName(), R.layout.cusnot);
            remoteViews.setTextViewText(R.id.titles, title);
            remoteViews.setTextViewText(R.id.notvalue, message);

            NotificationCompat.Builder builder = new NotificationCompat.Builder(getApplicationContext());

            Intent intent = new Intent(getApplicationContext(), MainActivity.class);
            PendingIntent pendingIntent = PendingIntent.getActivity(getApplicationContext(), 1, intent, 0);
            builder.setContent(remoteViews)
                    .setSmallIcon(R.mipmap.ic_launcher)
                    .build();
            NotificationManager notificationManager = (NotificationManager) getSystemService(Context.NOTIFICATION_SERVICE);
            notificationManager.notify(1, builder.build());

【讨论】:

谢谢 Panache。让我用这个然后回复你

以上是关于在长文本通知的情况下,MI/XIAOMI 手机上仅显示单行(修剪文本)的主要内容,如果未能解决你的问题,请参考以下文章

如何在 UILabel 上仅突出显示触摸文本的背景

在长文本中自动换行 - 照顾句子

如何在长按或点击时获得点击文本?

TextViews 在 Android 4 上仅动画一次

如何在没有权限通知的情况下自动发送短信?

在小屏幕上仅使一个引导列弹出到其他三个下方