5

100pxの固定幅を持つ一連のタブを作成しました。タブには、その下にテキストが含まれる画像が含まれています。テキストが長すぎて収まらない場合は、自動的にスクロールします。1行だけ欲しいです。次のことを試しましたが、うまくいきませんでした。私はAndroid2.3を使用しています:

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:layout_marginRight="3dp"
    android:layout_marginTop="3dp"
    android:background="#ff737373"
    android:gravity="center"
    android:minWidth="64dp"
    android:orientation="vertical"
    android:padding="3dp" >

    <ImageView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:tag="tabImage" >
    </ImageView>

    <TextView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:ellipsize="marquee"
        android:marqueeRepeatLimit="marquee_forever"
        android:focusable="true"
        android:focusableInTouchMode="true"
        android:scrollHorizontally="true"
        android:singleLine="true"
        android:maxWidth="100px"
        android:tag="tabCaption"
        android:textColor="#ffd9d9d9"
        android:textSize="16sp" />

</LinearLayout>

なぜこれが機能しないのか考えてみてください。私は別の投稿から解決策に出くわしました、そしてそこでユーザーはそれがうまくいくことを示しました。

4

4 に答える 4

11

あなたの活動では、テキストをマーキーしたい場合は追加する必要があります

  TextView tv=(TextView)findViewById(R.id.textview1);
  tv.setSelected(true);
于 2012-06-25T05:56:48.243 に答える
3

あなたはこれを試してみたいかもしれません:

https://github.com/kaeppler/ignition/blob/master/ignition-core/ignition-core-lib/src/com/github/ignition/core/widgets/ScrollingTextView.java

于 2012-06-25T05:55:54.440 に答える
0
<TextView

        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:singleLine="true"
        android:gravity="center"
        android:ellipsize="marquee"
        android:focusable="true"
        android:focusableInTouchMode="true"
        android:marqueeRepeatLimit="marquee_forever"
        android:text="Auto text scroller" 
        android:textSize="50sp"
        />
于 2016-08-09T11:08:10.790 に答える
0

テキストの長さが定義された境界の幅よりも小さい場合、スクロールされないことに注意してください。この場合、次のようにテキスト自体を拡張することができます。

-。。。。。

String charsInBreak = "   ";
 while (bounds.width() < this.m_width)
 {
    m_text = (m_text + charsInBreak + m_text);
    paint.getTextBounds(m_text, 0, m_text.length(), bounds);
 } 

そして、あなたがあなたのテキストを永遠にマーキーにしたいなら:

m_textView.setMarqueeRepeatLimit(-1);
于 2017-05-23T23:06:25.167 に答える