TextViewのフォントサイズを自動調整する。memoAndroidの勉強中!調べたことを忘れないためのブログです!この広告は、90日以上更新していないブログに表示しています。2013-08-02TextViewのフォントサイズを自動調整する。レイアウト限られたTextViewの中に、もし大きいフォントサイズを指定してしまった時に、Viewに収まるようにフォントサイズを自動調整できないかなーと考えたので、実際にやってみたことをメモします。横幅ですが、下記のURLを参考にしました。https://gist.github.com/STAR-ZERO/2934490次に、縦幅については調べてみても見つからなかったので、縦幅と横幅を自動リサイズするクラスを作成しました。調整しているテキストサイズが、定義している最小サイズ以下か。textSize);}}簡単に説明すると、TextViewを継承したクラスで、onLayout()でフォントサイズを調整するresize()を呼んでます。下記にresize()について説明していきます。1.まずTextViewの縦幅と横幅を取得します。Viewの横幅2.TextViewに設定されているフォントサイズを取得し、Paintクラスにフォントサイズをセットします。Paint();paint.setTextSize(textSize);3.テキストの縦幅、横幅を取得します。FontMetricsと、Paintを使用することで、実際にテキストが表示される時のサイズを取得することができます。paint.measureText(this.getText().toString());4.TextViewに収まるまでテキストサイズをデクリメントしていきます。調整しているテキストサイズが、定義している最小サイズ以下か。paint.measureText(this.getText().toString());}5.最後に調整したテキストサイズを、TextViewにセットします。textSize);これを下記のXMLで実行してみます。上のTextViewはいつものやつで、下のが今回のクラスです。今回のクラスではフォントサイズを調整して表示されています。́・ω・`)ここから余談です!View継承したクラスで、Canvas使ってテキスト書いてみたけど、かなり重かったのでやめました。あと、フォントの縦幅って結構面倒くさくて、実際の文字サイズ+余白があります。その余白はなにに使用するかというと、今回のXMLで小文字の「y」とか、下とか上にはみ出る文字がある時のためみたいです。13:02TextViewのフォントサイズを自動調整する。Android端末の向きを固定する。TextViewのフォントサイズを自動調整する。Android端末の向きを固定する。Android端末の向きを取得する。dpとは?月別アーカイブリンクお知らせはてなブログをはじめよう!monakaproさんは、はてなブログを使っています。ブログを報告するスターをつけました引用をストックしましたストック一覧を見る閉じる引用するにはまずログインしてくださいログイン閉じる引用をストックできませんでした。再度お試しください閉じる限定公開記事のため引用できません。