2017-08-23 15 views
0

私はカスタム通知を作成しました(後で内容を追加します)。アイコンとテキストはデフォルトの通知と同じになりたいと思いますそれ?通知の内容:サイズ、色、余白、パディング

<?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" 
       android:orientation="horizontal"> 

    <RelativeLayout 
     android:layout_centerVertical="true" 
     android:layout_width="match_parent" 
     android:layout_height="46dp" 
     android:orientation="horizontal"> 

     <ImageView 
      android:id="@+id/notifiation_image" 
      android:layout_width="46dp" 
      android:layout_height="46dp" 
      android:src="@drawable/icon" /> 

     <RelativeLayout 
      android:layout_centerVertical="true" 
      android:paddingLeft="10dp" 
      android:id="@+id/texts" 
      android:layout_toRightOf="@id/notifiation_image" 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content"> 

      <TextView 
       android:id="@+id/textContentTitle" 
       android:layout_width="wrap_content" 
       android:layout_height="wrap_content" 
       android:text="Content title" /> 

      <TextView 
       android:id="@+id/textSubText" 
       android:layout_below="@id/textContentTitle" 
       android:layout_width="wrap_content" 
       android:layout_height="wrap_content" 
       android:text="Subtext" /> 

     </RelativeLayout> 

    </RelativeLayout> 

</RelativeLayout> 

サービス:

RemoteViews notificationView = new RemoteViews(getPackageName(), 
       R.layout.notification); 

mNotification = new NotificationCompat.Builder(mContext) 
     ... 
     .setCustomContentView(notificationView) 
     ... 
     .build(); 

答えて

-1

をテキストサイズ

を配置しよう今私はちょうど(良くない)私のXMLでいくつかの定数を設定

enter image description here

  <TextView 
      android:id="@+id/textContentTitle" 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content" 
      android:textSize="20sp" 
      android:text="Content title" /> 

      <TextView 
      android:id="@+id/textSubText" 
      android:layout_below="@id/textContentTitle" 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content" 
      android:textSize="14sp" 
      android:text="Subtext" /> 
0
If you want to set icon and text would be the same as for default notifications, 
Then Don't Use Custom Layout. 

You can use Default Notification Builder , 

NotificationCompat.Builder notificationBuilder = new NotificationCompat.Builder(this) 
        .setSmallIcon(R.mipmap.ic_launcher) 
        .setContentTitle("Title")  
        .setContentText("SubText") 
        .setAutoCancel(true) 
        .setSound(defaultSoundUri) 
        .setContentIntent(pendingIntent); 

      NotificationManager notificationManager = 
        (NotificationManager) getSystemService(Context.NOTIFICATION_SERVICE); 

      notificationManager.notify(0, notificationBuilder.build()); 
+0

カスタムレイアウトを使用しない通知にカスタムビューを追加することはできません。 – user924

+0

次に、カスタムレイアウトを設定する場合、通知は作成したカスタムXMLデザインルールに従います。だからxmlを変更した場合(textsize、padding、margin、textstyleなどを追加して)、デフォルト通知のように見えます。 – zephyr

0
Follow this code:  


RemoteViews remoteViews = new RemoteViews(getPackageName(), 
        R.layout.notification); 

      Intent ..... 
      ..... 


      PendingIntent ....... 
      NotificationCompat.Builder builder = new NotificationCompat.Builder(
        this).setSmallIcon(R.drawable.ic...) 
        .setTicker(getString(R.string......)) 
        .setAutoCancel(true).setContentIntent(Intent) 
        .setContent(remoteViews).setOngoing(true); 
      remoteViews.setImageViewResource(R.id.imageleft, 
        R.drawable.icon_notification); 
      remoteViews.setTextViewText(R.id.title, 
        getString(R.string.....)); 
      remoteViews.setTextViewText(R.id.text, getString(R.string......)); 
      NotificationManager notificationmanager = (NotificationManager) getSystemService(NOTIFICATION_SERVICE); 
      notificationmanager.notify(0, builder.build()); 
+0

変更内容 – user924

関連する問題