Android:如何同时显示多个Marquee(专注于两个Marquees)

时间:2010-12-20 11:35:05

标签: android marquee

我想在我的应用程序中使用2个marquees。但只有一个人总是在工作。如果我评论第一个,那么第二个将工作。否则第一个。或者只有一个选框可以一次获得焦点。如果我们按向下箭头,那么第二个将获得焦点。这两个马戏团如何成为焦点?

如何同时显示2个马戏团? 以下是我的代码:

 <RelativeLayout 
       android:layout_width="fill_parent"
       android:layout_height="wrap_content"
       android:id="@+id/imgLogotb">

      <TextView 
                    android:id="@+id/txt1" 
                    android:layout_width="wrap_content" 
                    android:text="START | lunch 20.00 | Dinner 60.00 | Travel 60.00 | Doctor 5000.00 | lunch 20.00 | Dinner 60.00 | Travel 60.00 | Doctor 5000.00 | END" 
                    android:layout_height="20dip"
                    android:singleLine="false"
                    android:ellipsize="marquee"   
                    android:marqueeRepeatLimit="marquee_forever"
                    android:scrollHorizontally="true" 
                    android:focusable="true" 
                    android:focusableInTouchMode="true" 
                   android:freezesText="true">
     </TextView>

     <TextView 
                    android:id="@+id/txt2" 
                    android:layout_width="wrap_content" 
                    android:text="START | lunch 1.00 | Dinner 2.00 | Travel 3.00 | Doctor 4.00 | lunch 5.00 | Dinner 6.00 | Travel 7.00 | Doctor 8.00 | END" 
                    android:layout_height="20dip"
                    android:singleLine="false"
                    android:ellipsize="marquee"   
                    android:marqueeRepeatLimit="marquee_forever"
                    android:scrollHorizontally="true" 
                    android:focusable="true" 
                    android:focusableInTouchMode="true" 
                    android:freezesText="true">
      </TextView>
</RelativeLayout>

请给出解决方案帮助我.... 谢谢......

1 个答案:

答案 0 :(得分:4)

我通常不回答旧问题。但在这种情况下,我遇到了同样的问题,这是一个有趣的情况。

现在,我可以为自己找到一个补丁。选框文本在焦点对准时有效。现在我们的目标是同时关注每个textView。

为此我们将创建自己的自定义TextView组件类。并且将在方法isFocusable()中返回true。这就是.....

public class ScrollingTextView extends TextView {

    @Override

    protected void onFocusChanged(boolean focused, int direction, Rect previouslyFocusedRect) {

        if(focused)

            super.onFocusChanged(focused, direction, previouslyFocusedRect);

    }

    @Override

    public void onWindowFocusChanged(boolean focused) {

        if(focused)

            super.onWindowFocusChanged(focused);

    }


    @Override

    public boolean isFocused() {

        return true;

    }
 }

现在您所要做的就是在xml布局中添加此textView,如下所示。

android:text="LONG LONG LONG LONG text..................."

android:singleLine="true"

android:ellipsize="marquee"

android:marqueeRepeatLimit="marquee_forever"

android:scrollHorizontally="true"

android:id="@+id/TextView03"

android:padding="5dip" 

android:layout_width="wrap_content" 

android:layout_height="wrap_content" />

完成后,您可以在xml布局中多次添加此TextView组件。并且textView将同时进行选取。

感谢。