Android 从右到左Notificatoin.Builder

Android 从右到左Notificatoin.Builder,android,android-notifications,Android,Android Notifications,我想在Notification.Builder上显示文本。 我的语言是从右向左写的。 那么如何更改Notification.Builder文本和标题方向? 我的代码: NotificationCompat.BigTextStyle bigTextStyle = new NotificationCompat.BigTextStyle(); bigTextStyle.setBigContentTitle(getString(R.string.smartservice)); bigT

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

我的代码:

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);