TextView Marquee在Android 4.0(ISO)小部件中无效

时间:2012-01-18 04:25:10

标签: android-layout android-widget marquee android-4.0-ice-cream-sandwich

我修正了以下问题。一个简单的改变。将android:lines="1"替换为android:singleLine="true"


目前我的应用程序将小部件中的文本显示为Marquee。除了4.0版本之外,它在所有Android OS中都按预期工作。我已经在模拟器中测试了API级别14并且文本没有滚动(Marquee)。下面是用于在Marquee效果中显示文本的布局xml。

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent">
<TextView
    android:id="@+id/tv"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_centerHorizontal="true"
    android:lines="1"
    android:background="@android:color/background_dark"
    android:ellipsize="marquee"
    android:fadingEdge="horizontal"
    android:marqueeRepeatLimit="marquee_forever"
    android:scrollHorizontally="true"
    android:textColor="@android:color/white"
    android:focusable="true"
    android:focusableInTouchMode="true"
     android:duplicateParentState="true"
     android:textSize="20dp">
    <requestFocus android:focusable="true" android:focusableInTouchMode="true"
        android:duplicateParentState="true" />
</TextView>
</RelativeLayout>

帮我解决这个问题。

提前致谢。

1 个答案:

答案 0 :(得分:12)

澄清。

<TextView
    android:layout_width="200dp"
    android:layout_height="wrap_content"
    android:duplicateParentState="true"
    android:ellipsize="marquee"
    android:fadingEdge="horizontal"
    android:focusable="true"
    android:focusableInTouchMode="true"
    android:marqueeRepeatLimit="marquee_forever"
    android:scrollHorizontally="true"
    android:singleLine="true"
    android:text="@string/your_text">
    <requestFocus
        android:duplicateParentState="true"
        android:focusable="true"
        android:focusableInTouchMode="true" />
</TextView>