gpt4 book ai didi

android - 从右到左 Notification.Builder

转载 作者:行者123 更新时间:2023-12-05 07:47:45 24 4
gpt4 key购买 nike

我想在 Notification.Builder 上显示文本。我的语言是从右到左书写的。那么如何更改 Notification.Builder 文本和标题方向? enter image description here

我的代码:

NotificationCompat.BigTextStyle bigTextStyle = new   
NotificationCompat.BigTextStyle();

bigTextStyle.setBigContentTitle(getString(R.string.smartservice));
bigTextStyle.bigText(getString(R.string.aboutsmartservice));

Uri path =
RingtoneManager.getDefaultUri(RingtoneManager.TYPE_NOTIFICATION);


Bitmap icon = BitmapFactory.decodeResource(getResources(),
R.drawable.ic3);

NotificationCompat.Builder mBuilder = new
NotificationCompat.Builder(this);

mBuilder.setTicker(getResources().getString(R.string.smartservice))

.setContentTitle(getResources().getString(R.string.smartservice))

.setContentText(getResources().getString(R.string.aboutsmartservice))
.setSmallIcon(R.drawable.ic4)
.setLargeIcon(Bitmap.createScaledBitmap(icon, 64, 64,false))
.setStyle(bigTextStyle)
.setSound(path)
.setPriority(Notification.PRIORITY_MAX);

Intent stopreciver = new Intent();
stopreciver.setAction("STOP_ACTION");
PendingIntent pendingIntentYes2 =
PendingIntent.getBroadcast(this, 12345, stopreciver,
PendingIntent.FLAG_UPDATE_CURRENT);

mBuilder.addAction(R.drawable.ic_remove_circle_outline_white_18dp,
getResources().getString(R.string.stopservice), pendingIntentYes2);

startForeground(101, mBuilder.build());

最佳答案

使用Remoteview,然后改变textview的样式。最初创建一个自定义 xml,并为 TextView 设置所需的方向。然后使用下面的 java 代码创建一个自定义通知,然后显示它。

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/layout"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:padding="10dp" >
<ImageView android:id="@+id/image"
android:layout_width="wrap_content"
android:layout_height="fill_parent"
android:layout_alignParentLeft="true"
android:layout_marginRight="10dp" />
<TextView android:id="@+id/title"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textDirection="anyRtl"
android:layout_toRightOf="@id/image"
style="Custom Notification Title" />
<TextView android:id="@+id/text"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_toRightOf="@id/image"
android:layout_below="@id/title"
android:textDirection="anyRtl"
style="Custom Notification Text" />

    int icon = R.drawable.ic_launcher;
long when = System.currentTimeMillis();
Notification notification = new Notification(icon, "Custom Notification", when);

NotificationManager mNotificationManager = (NotificationManager)getSystemService(NOTIFICATION_SERVICE);

RemoteViews contentView = new RemoteViews(getPackageName(), R.layout.custom_notification);
contentView.setImageViewResource(R.id.image, R.drawable.ic_launcher);
contentView.setTextViewText(R.id.title, "Custom notification");
contentView.setTextViewText(R.id.text, "This is a custom layout");
notification.contentView = contentView;

Intent notificationIntent = new Intent(this, MainActivity.class);
PendingIntent contentIntent = PendingIntent.getActivity(this, 0, notificationIntent, 0);
notification.contentIntent = contentIntent;

notification.flags |= Notification.FLAG_NO_CLEAR; //Do not clear the notification
notification.defaults |= Notification.DEFAULT_LIGHTS; // LED
notification.defaults |= Notification.DEFAULT_VIBRATE; //Vibration
notification.defaults |= Notification.DEFAULT_SOUND; // Sound

mNotificationManager.notify(1, notification);

关于android - 从右到左 Notification.Builder,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39306866/

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