私はTextView
幅を持っていwrap content
ます。これTextView
でテキストを設定しましたが、テキストは毎回同じ長さではありません。テキストが非常に長い場合は、trueとellipsize
:endの1行を使用します。しかし今、私は問題を抱えています。他のレイアウトの可視性を設定したいのですが、それはテキストの長さによって異なります。テキストが長すぎて画面に収まらない場合は、Visibleをtrueに設定しますが、テキストが短く、ellipsizeが不要な場合は、可視性をfalseに設定します。そのため、TextViewのステータスを確認する必要があります。その楕円サイズが真になりたいsetVisible
とき、偽ではないときsetVisible
。どうすればそれができますか。これは私が得たものです:
tvAle.post(new Runnable() {
@Override
public void run() {
int lineCount = tvAle.getLineCount();
Paint paint = new Paint();
paint.setTextSize(tvAle.getTextSize());
final float size = paint.measureText(tvAle.getText().toString());
Log.v("a", ""+size+" "+tvAle.getWidth());
if ((int)size > (tvAle.getWidth()+10)) {
allergiesLayout.setVisibility(View.VISIBLE);
}
else
allergiesLayout.setVisibility(View.GONE);
}
しかし、この解決策は機能しません。