Android通知Marquee无法正常工作

时间:2012-03-01 07:49:54

标签: android

在我的应用中,有一个自定义通知,具有以下布局。我的问题是选框不起作用。请帮助我。提前致谢

> <?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:id="@+id/notification_layout"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:padding="10dp" >

    <ImageView
        android:id="@+id/notification_image"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignParentLeft="true"
        android:layout_centerVertical="true"
        android:layout_marginRight="10dp"
        android:background="@drawable/icon" />

    <TextView
        android:id="@+id/notification_title"
        style="@style/NotificationTitle"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_toRightOf="@+id/notification_image"
        android:text="asaadsadad" />

    <TextView
        android:id="@+id/notification_message"
        style="@style/NotificationText"
        android:layout_width="wrap_content"
        android:ellipsize="marquee"
        android:lines="1"
        android:marqueeRepeatLimit="marquee_forever"
        android:layout_height="wrap_content"
        android:layout_below="@+id/notification_title"
        android:layout_toRightOf="@+id/notification_image"
        android:text="@string/four_day_delay_msg"
        android:focusable="true" />

</RelativeLayout>

可以在通知中添加滚动吗?

1 个答案:

答案 0 :(得分:8)

好吧,我花了很多时间研究这个问题,我认为可以说有一些重大障碍需要克服才能实现这一目标。值得注意的是,有一些Google Apps在其自定义通知中使用选框的示例,但它们在他们的HoneyComb Android 4.0版本中,所以他们可能修复了我即将解决的问题。 此外,我还没有看到像谷歌音乐这样的谷歌应用程序中实现的marquee,它应该标记长歌名称或艺术家。

我喜欢编号列表...

  1. 选框的问题。这是一个挑剔的设置,你不仅需要将省略号设置为marque,你必须确保包含它的视图获得焦点,否则它将永远不会。所以我的第一次尝试自然是在创建通知后尝试并专注于textview。 Android不喜欢这样,直到#2。
  2. 然后我继续研究autoScrolling Marquee TextViews。不幸的是,这次我觉得我有。一些真正的聪明人决定他们不喜欢marquee的限制,所以他们创建了一个自动复制的自定义组件。因此,选框将始终运行。但是当我把它添加到自定义通知Android时再次说不。我猜自定义通知不喜欢自定义组件,我甚至尝试创建自定义RelativeLayout以在调用onFinishInflate()时专注于textview。
  3. 你可以做更多的研究,我只是放弃了。查找如何在自定义通知中使用自定义组件。我看了,至少15分钟,没有运气。或者查看如何将项目集中在自定义通知中,看起来更奇怪。我的两次搜索都没有产生任何结果,但没有很多关于此类事情的StackOverflow问题。可能会在这里发布一个新问题。
  4. <强>资源...

    自定义组件 - AutoScrolling Marquee TextView - http://androidbears.stellarpc.net/?p=185

    自定义组件 - 相对布局onFinishInflate() - Android : how to create custom component - http://www.devdaily.com/java/jwarehouse/android/core/java/android/widget/TwoLineListItem.java.shtml

    Google App,自定义通知中的Marquee示例(TextView标题为:notification_title) - http://developer.android.com/resources/samples/HoneycombGallery/res/layout/notification.html