如何在通知中使用跑马灯效果显示文本内容?

6

文本内容太长,无法在通知中显示完整,被截断了。我该怎么办?请帮忙解决。


3
我敢说你可以在关于通知的 Android 文档中找到大量相关信息。 - Till Helge
谢谢。通知文档确实包含了很多信息。但是,它没有提到如何滚动显示。我需要将整个文本内容展示给用户。 - Brian 1143
2
看起来通知系统是设计用于处理自定义布局,但不是自定义行为。而且说实话,我认为这是一件好事。保持通知的简洁比允许花哨的东西更重要。我无法想象如何将这种“逻辑”引入通知中。也许你需要创建一个主屏幕小部件来实现这一点。 - Till Helge
2
@Till - 不管 Android 文档中有多少信息可用,StackOverflow 都应该是一个独立的资源。即使这些信息很容易在其他地方找到,也没有理由不在这里复制这些信息。 - Spencer Ruport
@SpencerRuport 我只是在给提问者一个提示,告诉他可能会在哪里找到答案,因为很遗憾我没有一个令他满意的答案。我同意SO可以帮助你在庞大的Android文档中找到自己的方向。 :) - Till Helge
@Brian1143,你能否看一下这些答案是否对你有帮助呢?我知道现在是圣诞节,但我想送给某个人一些积分。 :) - Till Helge
3个回答

3
尝试这个:
它对我有效,我已经测试过了。
首先创建自定义通知:
如此显示:开发者网站上的此链接
然后,在您想要滚动显示的消息的TextView中,加入此行:
 android:ellipsize="marquee"

它按照您的要求工作。 享受吧。 希望它能帮到您。 谢谢。


跑马灯除了RepeatLimit之外并不是很可定制:http://developer.android.com/reference/android/widget/TextView.html#attr_android:marqueeRepeatLimit 没有任何速度控制或来回滚动而不是循环:http://code.google.com/p/android/issues/detail?id=6567 - TryTryAgain
遗憾的是,楼主没有说这是否是他正在寻找的内容。但据我所知...是的。 - Till Helge

1
                    <TextView
                    android:id="@+id/place"
                    android:layout_toRightOf="@+id/line1"
                    android:clickable="true"
                    android:ellipsize="marquee"
                    android:fadingEdge="horizontal"
                    android:gravity="bottom"
                    android:lines="1"
                    android:marqueeRepeatLimit="marquee_forever"
                    android:paddingLeft="4dip"
                    android:scrollHorizontally="true"                        
                    android:textColor="#00BFFF"
                    android:textSize="18dip" />

删除任何无用的代码行并根据您的代码更改ID。


1

为通知设置自定义布局。在布局中,使用TextView作为通知,然后在TextView的XML中添加:

android:ellipsize="marquee"

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