1

大きなレイアウトが 1 つと、テキスト ビューだけのダミー レイアウトが 1 つあります。どちらの場合もテキスト ビュー ウィジェットは同じですが、より複雑なレイアウトに配置すると機能しません。

マーキーに制限はありますか?

<TextView
    android:id="@+id/txt_id"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:ellipsize="marquee"
    android:marqueeRepeatLimit="marquee_forever"
    android:singleLine="true"
    android:text="a sdasd as das d as d asd a sd as d a sd as d as das d a sd a" >
</TextView>
4

3 に答える 3

1

私の場合はandroid:focusable="true"そしてandroid:focusableInTouchMode="true"テストループを作成します:

<TextView
    android:id="@+id/txt_id"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:ellipsize="marquee"
    android:focusable="true"
    android:focusableInTouchMode="true"
    android:marqueeRepeatLimit="marquee_forever"
    android:maxLines="1"
    android:scrollHorizontally="true"
    android:singleLine="true"
    android:text="some long text">
</TextView>
于 2013-03-20T11:39:16.027 に答える
0

これは marque.This を実装する別の方法です。これは私にとって完璧に機能しています。

これをテキストビューとして使用

 <com.example.marque_test.marque_textView
        android:id="@+id/TV_FOOTER"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
         android:fadingEdge="horizontal"
           android:scrollHorizontally="true"
           android:text="a sdasd as das d as d asd a sd as d a sd as d as das d a sd a"
        android:ellipsize="marquee"
        android:focusable="true"
        android:focusableInTouchMode="true"
        android:gravity="center"
        android:marqueeRepeatLimit="marquee_forever"
        android:singleLine="true"
        />

marque_textView.java

public class marque_textView extends TextView
{
   public marque_textView(Context context)
   {
           super(context);
           // TODO Auto-generated constructor stub
   }

   public marque_textView(Context context, AttributeSet attrs,int defStyle)
   {
   super(context, attrs, defStyle);
   setEllipsize(TruncateAt.MARQUEE);

}
 public marque_textView(Context context, AttributeSet attrs)
   {
       super(context, attrs);
   }

   @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;
   }
}
于 2013-03-21T04:40:21.433 に答える
0

これを試して :

<TextView
            android:id="@+id/txt_id"
            android:layout_width="fill_parent"
            android:layout_height="wrap_content"
            android:ellipsize="marquee"
            android:focusable="true"
            android:focusableInTouchMode="true"
            android:marqueeRepeatLimit="marquee_forever"
            android:scrollHorizontally="true"
            android:singleLine="true"
            android:text="a sdasd as das d as d asd a sd as d a sd as d as das d a sd a" >
        </TextView>
于 2013-03-20T11:44:33.053 に答える