2016-07-28 15 views
3

'bigContentView'를 사용하여 알림에 맞춤 콘텐츠를 추가하고 홈 화면에서 위젯에 대해 이미 설정 한 내용과 동일한 remoteViews으로 설정합니다. 문제는 알림 내용의 높이가 일정하게 유지되고 내용에 맞게 축소되지 않는다는 것입니다. 일례로서 Android : 알림에서 bigContentView 주위의 간격

는 I 위젯 크기를 조정할 때, 상기 새로운 위젯 컨텐츠가 통지에 배치되어 있지만, 항상 동일한 높이 (흰색으로 채워진 갭)

enter image description here

Notification notification = new NotificationCompat.Builder(context) 
     .setContentTitle(placeName) 
     .setContentText(contentText) 
     .setSmallIcon(drawableId) 
     .setOngoing(false) 
     .setPriority(Notification.PRIORITY_MIN) 
     .setVisibility(Notification.VISIBILITY_PUBLIC) 
     .build(); 
notification.bigContentView = remoteViews; 
notificationManager.notify(0, appWidgetId, notification); 

을 그리고 리모트 뷰 RemoteViews는 다음 레이아웃을 기반으로합니다 :

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" 
    android:layout_width="match_parent" 
    android:layout_height="match_parent" 
    android:padding="@dimen/widget_margin" 
    android:id="@+id/widget" > 

    <ImageView 
     android:layout_width="match_parent" 
     android:layout_height="match_parent" 
     android:id="@+id/imageView_port" 
     android:layout_alignParentTop="true" 
     android:layout_alignParentLeft="true" /> 

</RelativeLayout> 
다음과 같이 관련 코드는

(레이아웃에는 다른 내용이 있지만 위의 레이아웃이 기본 레이아웃이며 나머지는 재료 효과가 없을 것입니다 ... 물론 레이아웃은 AppWidget 컨텍스트로 잘 작동합니다.)

편집 : 나는 실제로 remoteViews 내용을 피팅 알림을 방지하기 위해 분명히 뭔가 잘못을하고

remoteViews.setImageViewUri(imageViewId, uri); 
appWidgetManager.updateAppWidget(appWidgetId, remoteViews); 

암 다음 이미지 뷰가 업데이트됩니다?

+0

을 그리고 당신이 보여줄 수있는 장소 및 방법은'ImageVIew' 이미지를 설정합니까? – rom4ek

+0

@ rom4ek이 정보로 질문을 업데이트했습니다 – drmrbrewer

+0

'wrap_content' 높이로'RelativeLayout'과'ImageView'를 시도 했습니까? – sohailehmad

답변

1

Android가 알림 높이를 예약 한 것으로 보입니다! 큰 알림 스타일의 높이도 예약되었지만! 이 크기에 따라 알림을 만들어야합니다.

또한 안드로이드 고유 알림 기능에 따라 알림 내부 이미지의 비율. 행운을 빌어 요.

+0

당신의 출처는 무엇입니까? – drmrbrewer

0

RelativeLayout에있는 android:padding="@dimen/widget_margin"이 문제의 원인입니다.

이 줄을 제거한 후 사용해보십시오. 이 문제를 일으킬 수 있습니다

하나 다른 점은 작동하지 않습니다 ImageView 위의 경우 다음과 같은

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" 
    android:layout_width="match_parent" 
    android:layout_height="match_parent" 
    android:id="@+id/widget" > 

    <ImageView 
     android:layout_width="match_parent" 
     android:layout_height="wrap_content" 
     android:adjustViewBounds="true" 
     android:id="@+id/imageView_port" 
     android:layout_alignParentTop="true" 
     android:layout_alignParentLeft="true" /> 

</RelativeLayout> 

그것이

질문으로 당
0

희망이 도움 시도 할 수 있습니다, 확인하시기 바랍니다있다 RemoteView의 너비! 너비와 높이를 각각 설정할 수 없습니다. 나는 1920x1080 크기의 이미지를 찍어서 너와 같은 출력물을 얻었습니다. 먼저 확인해주십시오. 나는 당신의 코드를 사용했고 적절한 크기의 이미지로 잘 동작한다.

이 링크를 확인하십시오 : Expandable Notifications for Android

감사

+0

"적절한 크기의 이미지"란 무엇입니까? 틈새가 없도록 통지의 내용과 일치시키기 위해 아주 특별한 크기 또는 가로 세로 비율을 가진 하나?이미지에 맞게 알림 영역을 축소 할 수 없습니까? 아마도 답변 중 하나가 맞습니다. 알림의 높이는 Android에서 예약 했습니까? 나는 그런 경우에 대한 어떤 언급도 볼 수 없다. – drmrbrewer

+0

정상적인 알림 또는 확장 된 알림 콘텐츠보기의 경우 가로 세로 비율은 중요합니다. 종횡비에 대한 내용은이 [link] (https://material.google.com/patterns/notifications.html#notifications-content)를 참조하십시오. –