0

テキストが長すぎる場合に、状況に応じて自動的に水平スクロールを実装したかったのです。何もフォーカスされていないアクティビティが空のときに機能しました。しかし、クロノメーターを使用したアクティビティでこれを実装しようとすると、機能しません。クロノメーターなしでテストしましたが、動作します。を使用しようとしましたがsetSelected(true)、これも機能しません。これを解決する方法はありますか、クロノメーターのスクロール機能が必要です。コメントと回答をいただければ幸いです。

ScrollTextView.class

public class ScrollingTextView extends TextView{

public ScrollingTextView(Context context, AttributeSet attrs,
        int defStyle){
    super(context, attrs, defStyle);
}

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

public ScrollingTextView(Context context){
    super(context);
}

@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;
}
}

テキストビュー

<com.android.app.ScrollingTextView
    android:id="@+id/display_message"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_alignParentLeft="true"
    android:paddingLeft="10dp"
    android:paddingTop="10dp"
    android:singleLine="true"
    android:text="Display Message"
    android:textSize="18dp"
    android:textColor="#ffffff"
    android:ellipsize="marquee"
    android:scrollHorizontally="true"
    android:fadingEdge="horizontal"
    android:marqueeRepeatLimit="marquee_forever"
    android:focusableInTouchMode="true"/>
4

2 に答える 2

0

これを試してください、それはあなたを助けるかもしれません.

<TextView
            android:id="@+id/textView"
            android:layout_width="fill_parent"
            android:layout_height="wrap_content"
            android:clickable="true"
            android:onClick="onClick" 
            android:smoothScrollbar="true"
            android:scrollbars="vertical"
             android:maxLines="6"
            android:ellipsize="none"
            android:scrollHorizontally="false"
            android:singleLine="false"
            />
于 2014-04-29T10:19:15.807 に答える
0

これをXMLに追加します

私は自分でそれを理解しました。

android:focusable="true" 

& その後、もう一度やり直してください。

編集 :

私はこの問題に直面しています

私の場合、これが Textview が Scrolling ではない理由です。

テキストビューがスクロールしないように、テキストビューの上にリストビューを配置しました。だからこれを試した

リストビューをフォーカス可能に設定するのはfalseです

listview.setfocusable(false);

その後、テキストがスクロールしていました。

于 2013-01-16T08:30:56.017 に答える