安卓通知栏宽度

6
我正在编写一个应用程序,它从多个“符号”构建通知。有时这些符号不适合,我会停止并添加一些未适合的符号。
目前,我正在查看设备屏幕宽度以确定适合的符号数量。就像这样:
DisplayMetrics dm = resources.getDisplayMetrics();
int num = dm.widthPixels / height;

其中height是一个“硬编码”为64dp的值。

但是在平板电脑上无法正常工作。结果我失去了最右侧的符号。有没有办法确定我的通知中实际可用的空间?

在这张图片中,我使用了另一个硬编码值,总共不超过7个符号。 enter image description here


我猜你可以使用GridLayout,并将行数设置为1,列数设置为任意值。GridLayout包含在支持库中。 - Wenhui
我不知道我可以有多少列,这就是问题所在。 - aragaer
你想要显示多少个符号? - Wenhui
尽可能多地放入通知中,而不缩小它们。如果无法容纳所有符号,则希望显示一个“列表”符号,其中包含未能适应的符号数量。这就是为什么我不能简单地将所有符号放入通知中,并期望任何溢出都会被隐藏的原因。 - aragaer
3个回答

3

您是否使用了高度为64或等于64dp的像素?

为什么不获取顶层图层的宽度和高度以获取可用屏幕大小,而不是全屏大小(包括系统和ActionBars)?


64dp在像素中的等效值。在平板电脑上,通知区域不如屏幕宽。我将在几个小时内发布屏幕截图。 - aragaer

2

这是我一直在等待的答案:478dp

来源

这意味着每个通知大约有7.5个符号,而硬编码值为7是正确的。


-1

请按照以下代码:

Notification noti = new Notification.Builder(context)
        .setContentTitle(context.getString(R.string.app_name))
        .setContentText(notification_description).setDefaults(Notification.DEFAULT_ALL)
        .setStyle(new NotificationCompat.BigTextStyle() .bigText(msg).
                setSmallIcon(R.drawable.application_icon_notification)
        .setContentIntent(contentIntent)
        .setAutoCancel(true)
        .build();

抱歉,您的回答根本没有回答问题。 - aragaer

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接