2012-02-17 18 views
10

私は、テキストが多くの行に実行できるTextViewを持っています。それが作成され、動的に設定されていたら、私は与えられた行のテキストを取得しますAndroid TextViewとテキスト行を取得する

  1. したい、と
  2. は、この線の幅と高さを知っています。

どうすればよいですか?

答えて

20

私が正しく理解していれば2を質問への答えは次のとおりです。

textView.getLineBounds (int line, Rect bounds) 

ピクセル単位の幅がabs(bounds.right - bounds.left)する必要があります。そして高さはabs(bounds.bottom - bounds.top)

あなたの最初の質問は少しトリッキーですが、このような何かが必要な魔法行う必要があります。

Layout layout = textView.getLayout(); 
String text = textView.getText().toString(); 
int start=0; 
int end; 
for (int i=0; i<textView.getLineCount(); i++) { 
    end = layout.getLineEnd(i); 
    line[i] = text.substring(start,end); 
    start = end; 
} 
+1

'文字列のテキスト= textView.getTextを();' – Deqing

+0

あなたが動作しません'toString()'を実行する必要があります。コンパイラの警告を避けるために、 'textView.getText!= null'を確認するチェックも行います。 – LukeWaggoner

+0

TextViewレイアウトを取得し、行サイズを照会することについてのヒント!私が探していたもの –

関連する問題