6

我正在编写一个从多个“符号”构建通知的应用程序。有时这些不适合,我会停下来添加一些不适合的符号。

目前我正在查看设备的屏幕宽度以确定适合的符号数量。像这样:

DisplayMetrics dm = resources.getDisplayMetrics();
int num = dm.widthPixels / height;

其中高度是 64dp 的“硬编码”值。

不过,这不适用于平板电脑。结果我丢失了最右边的符号。有没有办法确定我的通知中的实际空间量?

在这张图片上,我使用了另一个总共不超过 7 个符号的硬编码值。 在此处输入图像描述

4

3 回答 3

3

是否使用 height=64 或相当于 64dp 的像素?

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

于 2012-11-01T23:43:11.470 回答
2

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

来源

这导致每个通知大约有 7.5 个符号,并且硬编码的值为 7 是正确的。

于 2013-01-03T19:40:17.283 回答
-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();
于 2018-04-30T04:55:26.253 回答