2016-07-16 32 views
2

レイアウト上にTextViewを固定幅で設定し、1行モードに設定しました。 textプロパティは、TextViewの幅よりもはるかに多くの水平スペースを表示する文字列に設定されています。ユーザーインターフェイスでは、文字列の任意の部分がビューに表示されるように、テキストを左右に簡単にスクロールできます。TextViewスクロール位置を照会することはできますか?

テキストビューの左右に小さいマーカーグラフィックを配置して、ビューの両側のテキストが境界線を越えてスクロールされていることを示したいとします。 TextViewにクエリを実行して、左または右の枠線の外にテキスト文字列があるかどうかを調べるにはどうすればよいですか?

答えて

2

私はそれ以前に使用していませんが、TextViewのgetMovementMethod()をチェックしてください。 MovementMethodからスクロールイベントにアクセスできるはずです。 MovementMethodのためのAndroidのドキュメントによると

はTextViewの中、カーソルの位置、スクロールやテキスト選択機能を提供します。

TextViewは、コンテンツの操作のために、キーイベント、トラックボールの動き、および移動メソッドの処理を委任します。フレームワークはTextViewの内容に基づいて適切な移動方法を自動的に選択します。

あなたは次のように、ScrollingMovementMethodを拡張して、あなたのTextViewに対してそれを設定してみてください:

MyScrollingMovementMethod movementMethod = new MyScrollingMovementMethod(); 
mTextView.setMovementMethod(movementMethod); 

そしてMyScrollingMovementMethodonTouchEventメソッドをオーバーライドします。

しかし、TextViewを拡張して、スクロールの長さを手動で処理するようにしてください。ここでこの回答を確認してください:https://stackoverflow.com/a/19827071/1738090

関連する問題