2017-05-26 17 views
0

私はカスタムレイアウトをデザインしていたため、アンドロイドのカスタム通知で作業していました。しかし通知を受けたときこのレイアウトの一部は表示されませんでした。 please check the screen shot of Notification通知が完全なレイアウトを表示していません

Notifications.howのカスタムレイアウトを使用する方法を教えてください。私のコードは以下のとおりです。

私の実際のカスタムレイアウトコードが

<?xml version="1.0" encoding="utf-8"?> 
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 
    android:layout_width="match_parent" 
    android:layout_height="wrap_content" 
    android:layout_marginLeft="8dp" 
    android:layout_marginRight="8dp" 
    android:orientation="vertical"> 

    <LinearLayout 

     android:layout_width="match_parent" 
     android:layout_height="wrap_content" 
     android:layout_marginBottom="8dp" 
     android:layout_marginTop="12dp" 
     android:orientation="vertical"> 

     <TextView 
      android:id="@+id/notificationHeader" 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content" 
      android:layout_gravity="center_horizontal" 
      android:text="@string/startedVideoStreaming" 
      android:textAppearance="?android:textAppearanceMedium" 
      android:textColor="#000" /> 
    </LinearLayout> 

    <LinearLayout 
     android:layout_width="match_parent" 
     android:layout_height="1.5dp" 
     android:background="@color/silvercolor"></LinearLayout> 

    <LinearLayout 
     android:layout_width="match_parent" 
     android:layout_height="wrap_content" 
     android:layout_marginTop="8dp" 
     android:orientation="horizontal" 
     android:weightSum="4"> 

     <TextView 
      android:id="@+id/pauseId" 
      android:layout_width="match_parent" 
      android:layout_height="wrap_content" 
      android:layout_weight="2" 
      android:gravity="center" 
      android:text="pause" 
      android:textAppearance="?android:textAppearanceMedium" 
      android:textColor="#000" /> 

     <TextView 
      android:id="@+id/stopLiveId" 
      android:layout_width="match_parent" 
      android:layout_height="wrap_content" 
      android:layout_weight="2" 
      android:gravity="center" 
      android:text="StopLive" 
      android:textAppearance="?android:textAppearanceMedium" 
      android:textColor="#000" /> 
    </LinearLayout> 
</LinearLayout> 

と私のアンドロイドコードが

private void showForegroundNotification() { 
     RemoteViews contentLayout = new RemoteViews(getPackageName(), R.layout.custom_notification_layout); 
     contentLayout.setTextViewText(R.id.notificationHeader, getString(R.string.startedVideoStreaming)); 
     contentLayout.setTextViewText(R.id.pauseId, "Pause"); 
     contentLayout.setTextViewText(R.id.stopLiveId, "StopLive"); 

     final NotificationManager notifyManager = 
       (NotificationManager) getSystemService(Context.NOTIFICATION_SERVICE); 

     // Intent to call our activity from background. 
     Intent notificationIntent = new Intent(this, MainActivity.class); 
     notificationIntent.setAction(Intent.ACTION_MAIN); 
     notificationIntent.addCategory(Intent.CATEGORY_LAUNCHER); 

     // The PendingIntent to launch our activity if the user selects this notification. 
     PendingIntent contentIntent = PendingIntent.getActivity(this, 0, 
       notificationIntent, PendingIntent.FLAG_CANCEL_CURRENT); 

     Notification notification = null; 
     if (android.os.Build.VERSION.SDK_INT >= Build.VERSION_CODES.HONEYCOMB) { 
      notification = new Notification.Builder(getApplicationContext()) 
        .setContent(contentLayout) 
        .setContentIntent(contentIntent) 
        .setSmallIcon(R.drawable.ic_launcher) 
        .setWhen(System.currentTimeMillis()) 
        .setOngoing(true) 
        .setDefaults(Notification.DEFAULT_SOUND) 
        .setLights(Color.WHITE, 500, 500) 
        .build(); 
     } 

     notification.flags = Notification.FLAG_NO_CLEAR; 
     notifyManager.notify(STREAMER_NOTIFICATION_ID, notification); 
    } 

は、いくつかのいずれかの助けがこの現在のコードでこのような状況

答えて

0

から抜け出すためにしてください、削除しましたコードの次の行

.setContent(contentLayout) 

あなたはそれがうまく働いたmsh.narayan @フラグに

notification.bigContentView = contentLayout; 
notification.flags = Notification.FLAG_NO_CLEAR; 
+0

を設定する際に上記の行を追加します。ありがとう – basha

+0

@Bashaこのコードが助けあれば、親切に答えを受け入れる。人々は後に恩恵を受けるでしょう。ありがとう。 –

関連する問題