【问题标题】:Android notification widthAndroid 通知宽度
【发布时间】:2012-10-22 12:03:13
【问题描述】:

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

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

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

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

但这不适用于平板电脑。结果我丢失了最右边的符号。有什么方法可以确定通知中的实际空间量吗?

在这张图片上,我使用了另一个不超过 7 个符号的硬编码值。

【问题讨论】:

  • 我猜你可以使用 GridLayout 并将行号设置为 1,将列号设置为任何你想要的。 Gridlayout 包含在支持库中。
  • 我不知道我能有多少列,这就是问题所在。
  • 你想显示多少个符号?
  • 在不缩小比例的情况下尽可能适应通知。如果我不能适合所有符号,我想显示一个“列表”符号,其中包含不适合的符号数量。这就是为什么我不能简单地将所有符号放入通知中并期望任何溢出都会被隐藏。

标签: android notifications size width


【解决方案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();

【讨论】:

  • 抱歉,您的回答根本没有回答问题。
【解决方案2】:

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

Source

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

【讨论】:

    【解决方案3】:

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

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

    【讨论】:

    • 相当于 64dp 的像素。平板电脑上的通知区域没有屏幕那么宽。我会在几个小时后发布屏幕截图。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2023-03-04
    • 1970-01-01
    • 1970-01-01
    • 2015-02-17
    • 2013-06-02
    • 2015-04-14
    • 1970-01-01
    相关资源
    最近更新 更多