2014-03-31 63 views
5

我想爲我的通知欄應用程序的通知,但只有在它(無體)的目標,這意味着 - 通知只有一條線,這應該是垂直與應用程序圖標對齊。設置單行Android通知(僅標題)

例如,在下面的通知,我想只保留「林格噓,直到19:16" 稱號,在相同的字體大小,但垂直居中於左側的應用程序圖標。

enter image description here

這裏是我創建的通知代碼:

NotificationManager manager = (NotificationManager) context.getSystemService(Context.NOTIFICATION_SERVICE); 

PendingIntent contentIntent = PendingIntent.getActivity(context, 0, 
       new Intent(context, MainActivity.class), PendingIntent.FLAG_CANCEL_CURRENT); 

PendingIntent deleteIntent = PendingIntent.getService(context, 0, 
       new Intent(context, GCMIntentService.class) 
         .setAction(IntentConsts.ACTION_CLEAR_MESSAGE_COUNT), PendingIntent.FLAG_CANCEL_CURRENT); 

manager.notify(MMConfig.NTF_ID_GCM, new NotificationCompat.Builder(context) 
       .setSmallIcon(R.drawable.push_icon) 
       .setContentTitle("My title") 
       .setWhen(System.currentTimeMillis()) 
       .setAutoCancel(true) 
       .setContentIntent(contentIntent) 
       .setDeleteIntent(deleteIntent) 
       .build()); 

現在我成功創建與它只有標題的通知,但我似乎無法讓它垂直居中應用程序圖標。有任何想法嗎?

+0

你見過另一個已經實現了這個功能的應用嗎? – weston

+0

你的意思是垂直**中心**嗎?它看起來像谷歌現在有單行通知,但它們不居中。 –

+0

@ weston不,但它似乎是一個經典的事情,我沒有看到任何文件。 – limlim

回答

1

像一些建議,我用RemoteViews定製我的通知,如下:

final RemoteViews views = new RemoteViews(getPackageName(), R.layout.notification_new_message); 

views.setTextViewText(R.id.title, title); 

Notification notification = new Notification(); 
notification.contentView = views; 
notification.icon = R.drawable.push_icon; 
notification.contentIntent = contentIntent; 

manager.notify(Config.NTF_ID_GCM, notification); 

在哪裏設置我的notification_new_message.xml我通知的希望進去看看。

0

我不認爲這是可能的。 即使我嘗試了一些方法來實現你的想法。但是沒有任何東西看起來像你想要的那樣工作。 就考慮對齊而言,我認爲它在垂直對齊中也不太可能。 即使你嘗試刪除標題依然爲標題的地方充滿了覆蓋超過您的通知面積的一半,所以即使與空白......仍然是通知的身體似乎並不爲是合適的中心對齊。

此外,我試圖對齊文本視圖的內容,然後使用這個setLatestEventInfo()內的值,甚至沒有水平對齊似乎工作,只要通知被視爲。

我可能是錯的,仍與研究水平我經歷了它似乎並不可能。還是讓我知道,如果有發現任何的替代方法:P