自定义通知选框文本不能正常工作

时间:2012-10-20 16:26:29

标签: android android-notifications

您好我试图在通知管理器选框中制作我的文本的一部分但是没有用,我试过这个:

  <TextView
    android:id="@+id/title_text"
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"
    android:ellipsize="marquee"
    android:fadingEdge="horizontal"
    android:gravity="bottom"
    android:marqueeRepeatLimit="marquee_forever"
    android:scrollHorizontally="true"                                     
    android:focusable="true"
    android:focusableInTouchMode="true"              
    android:singleLine="true"
    android:textSize="15sp"
    android:textStyle="bold" >
  </TextView>

在我的.java中我使用remoteview:

Notification notification = new Notification(icon, tickerText, when);
RemoteViews contentView = new RemoteViews(getPackageName(), R.layout.notification);

contentView.setTextViewText(R.id.title_text, "This is a very long text which is not fitting in the screen so it needs to be marqueed");

我想为那个title_text 设置选框。这是一个非常长的文字,不适合在屏幕上,所以需要将其标记

但是大帐篷不起作用只是保持静态我能做什么?

谢谢。

3 个答案:

答案 0 :(得分:10)

我改变了我的xml:

  <TextView
    android:id="@+id/title_text"
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"
    android:ellipsize="marquee"
    android:fadingEdge="horizontal"
    android:gravity="bottom"
    android:marqueeRepeatLimit="marquee_forever"
    android:scrollHorizontally="false"                                     
    android:focusable="true"
    android:focusableInTouchMode="true"              
    android:singleLine="true"
    android:textSize="15sp"
    android:textStyle="bold" 
    android:textColor="#fff">
    <requestFocus/> 
  </TextView>

我添加了<requestFocus/>,现在我的选框非常完美。

答案 1 :(得分:1)

根据docs,将scrollHorizo​​ntally属性设置为true将不会将文本包装在边缘。尝试将其设置为false,以便使用ellipsize属性。

答案 2 :(得分:0)

我失去了一天意识到这个方法效果是通过NotificationCompat.BuildersetTicker支持RemoteView

的方法完成的。

我真的希望答案能挽救许多生命:)(几乎失去了我的头发)