どうもわたくしです。
TextViewの高さを超えてテキストがセットされていたら、ボタンを出したい。 ボタンを出したいんです。
こんなかんじにTextViewを超えて長文が入力されていたら
ボタンを出したい。
解決編
行数 > 最大行数(TextViewの高さ / 1行あたりの高さ)でよさそう
final TextView textview = findViewById(R.id.textview); textView.post(new Runnable() { @Override public void run() { Layout layout = textView.getLayout(); if (layout != null) { int lines = layout.getLineCount(); int max = (int)(textView.getHeight() / textView.getLineHeight()); if (lines > max) { findViewById(R.id.button).setVisivility(View.VISIBLE); } } } });
こんな感じ。 行の高さとかViewの高さはレイアウトされてからじゃないと取得できないので、post()を使ってレイアウト後に処理を行えばおk
別にルイズコピペを使いたくてこの記事を書いたわけじゃないよ、ほんとだよ。