web-dev-qa-db-ja.com

テキストビューの高さを動的に設定する方法android

私のアプリケーションでは、動的テキストをテキストビューに設定して、動的にサイズ変更する必要があります。私は設定しました:

<TextView
Android:id="@+id/TextView02" 
Android:layout_width="wrap_content"
Android:layout_height="wrap_content"
Android:textStyle="normal"
Android:text="Frontview"
Android:layout_weight="1"
Android:gravity="center_vertical"
Android:textColor="#0099CC"
Android:singleLine="false"
Android:maxLines="4"
Android:ellipsize="Marquee"
/>

テキストビューの高さが2行を超えず、テキストが切り取られています。誰か助けてもらえますか?

よろしくお願いします。

13
neha

コンスタンティンが言ったように、_Android:maxLines="4"_を削除しない限り、このコードは4行を超えた後はおそらく無視されます。

コードで高さを設定する方法は次のとおりです。

_TextView tv = (TextView) findViewById(R.id.TextView02);
int height_in_pixels = tv.getLineCount() * tv.getLineHeight(); //approx height text
tv.setHeight(height_in_pixels);
_

アプリが複数の画面サイズに拡大縮小できるディップユニットを使用する場合は、ピクセル数にgetResources().getDisplayMetrics().density;から返される値を掛けます。

これは目的の動作によって異なりますが、TextViewのサイズを固定し、ユーザーがテキストをスクロールできるようにすることも検討してください。

_TextView tv = (TextView)findViewById(R.id.TextView02);
tv.setMovementMethod(ScrollingMovementMethod.getInstance());
_
18
Aaron C
TextView tv;
----------------------
tv=new TextView(this);   // you take TextView id (R.id.textview1)

LinearLayout.LayoutParams Params1 = new LinearLayout.LayoutParams(15,50);
tv.setLayoutParams(Params1);   //you take linearlayout and relativelayout.
3
AnilPatel

Android:maxLines = "4"を削除すると、ビューの高さが4行のテキストに制限されます。

0