具有多个textview和焦点的选框

时间:2012-03-05 04:29:40

标签: android marquee

我目前正在做一个Android应用程序,其中包含带有多个textview的选框,我想在单击textview时显示textview的内容。我有marquee的代码但是在多个textview的情况下它不起作用。我需要textview一个接一个地移动而不是垂直移动。

请帮助我......

 <?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/mywidget"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_alignParentRight="true"
    android:lines="1"
    android:ellipsize="marquee"
    android:fadingEdge="horizontal"
    android:marqueeRepeatLimit="marquee_forever"
    android:scrollHorizontally="true"
    android:textColor="#ff4500"
    android:text="Simple application for marquee with example as shown" />


<TextView
    android:id="@+id/mywidget1"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_alignParentRight="true"
    android:lines="1"
    android:ellipsize="marquee"
    android:fadingEdge="horizontal"
    android:marqueeRepeatLimit="marquee_forever"
    android:scrollHorizontally="true"
    android:textColor="#ff4500"
    android:text="haihaihaihaihaihaiahaiahaiahaiahaiahaiahaiahaiahaiahaiahiaha" 


    />



   </RelativeLayout>

java代码

TextView tv = (TextView) this.findViewById(R.id.mywidget);  
    tv.setSelected(true);

    TextView tv1 = (TextView) this.findViewById(R.id.mywidget1);  
    tv1.setSelected(true);

2 个答案:

答案 0 :(得分:2)

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent" android:orientation="vertical">

    <TextView
        android:id="@+id/mywidget"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignParentRight="true"
        android:ellipsize="marquee"
        android:fadingEdge="horizontal"
        android:lines="1"
        android:marqueeRepeatLimit="marquee_forever"
        android:scrollHorizontally="true"
        android:text="Simple application for marquee with example as shown"
        android:textColor="#ff4500" />

    <TextView
        android:id="@+id/mywidget1"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignParentRight="true"
        android:ellipsize="marquee"
        android:fadingEdge="horizontal"
        android:lines="1"
        android:marqueeRepeatLimit="marquee_forever"
        android:scrollHorizontally="true"
        android:text="haihaihaihaihaihaiahaiahaiahaiahaiahaiahaiahaiahaiahaiahiaha"
        android:textColor="#ff4500" />

</LinearLayout>

尝试一次

答案 1 :(得分:0)

要让它一个接一个地工作,创建并启动一个新线程,该线程以编程方式设置使用setSelected(true)逐个选择的文本视图,它们之间的设置时间间隔为n微秒,可以使用thread.sleep进行设置(N)。另外,不要忘记使用setSelected(false)设置最初未选中的所有文本视图。 我没有亲自测试过,但我很确定它会起作用。