No.1ベストアンサー
- 回答日時:
これは、単純計算ではむずかしいんじゃないでしょうか。
フォントによって大きさが違いますので……。等幅であっても、フォントによって同じフォントサイズでも横幅は異なります。paintでテキストを描画する場合、描画属性を管理するPaintオブジェクトに横幅を得るためのmeasureTextというメソッドがあります。これを使い、そのPaintを利用してテキストを描く際の横幅が得られます。こんな感じです。
Paint paint = new Paint( Paint.ANTI_ALIAS_FLAG);
paint.setTextSize( 24); // サイズ
paint.setColor( Color.BLACK); // 色
float width = paint.measureText( "Hello" ); // テキストの幅を得る
ですので、テキストサイズを適当に設定して横幅を調べ、その値によってまたテキストサイズを変更して横幅を調べ……というようにして、描画するViewの横幅とほぼ同じになる(実際にはプラスマイナスいくつ以内、という感じになるでしょう)Paintを作成して描画する、という感じになるでしょう。
後は、まぁ考え方を切り替えて、あらかじめテキストを描いたイメージを用意し、それを指定した領域内に変形して描画してしまうという手もありますね。
この回答へのお礼
お礼日時:2012/11/29 09:39
一度描画するふりをして幅を計算しなければいけないのですね。
フォントによって横幅が異なるということがそもそもの原因、ということは機種によっても異なるということなのですね。
measureTextは知らなかったのでとても参考になりました。
変形して描画するというのも非常にいい手ですね。
ありがとうございました!
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- 政治 私の発明した「二階建て漢字」は使えるでしょうか? 3 2023/02/08 16:40
- Excel(エクセル) [入力規則]のリストボックス内の“不揃いの林檎たち” 3 2022/09/15 18:32
- Visual Basic(VBA) エクセルのマクロについて教えてください。 1 2022/12/26 12:05
- Android(アンドロイド) 海外のAndroid 端末の場合、日本語全角は、どう表示されるのでしょうか? 1 2022/10/02 21:16
- Excel(エクセル) Excelでこういうカードの作り方 枠線の引き方や、挿入画像の拡大縮小など わかる方教えてください、 2 2022/05/03 21:22
- Excel(エクセル) excelの列幅高さが勝手に変わる(特定のPCだけ) 8 2022/07/14 16:51
- その他(インターネット接続・インフラ) Webサイトのフォント・級数変更について 1 2022/10/18 18:08
- 画像編集・動画編集・音楽編集 1文字あたりの幅を固定にしたフォントは、等幅フォントですか? 1 2022/12/14 14:22
- JavaScript ブラウザの横幅に応じてとある画像(e.jpg)を画面いっぱいに表示できるようにしたいです。(写真の横 1 2022/10/06 21:17
- ホームページ作成・プログラミング グリッドレイアウトHTMLとCSS 1 2023/02/22 02:36
関連するカテゴリからQ&Aを探す
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
VB.NET フォーム上に描いたグ...
-
Javaで文字の角度を変えて表示...
-
C# リストビューの特定のセルの...
-
フレーム内に時間軸をつくる(...
-
アクセスで他アプリから復帰し...
-
最接近点を持つ線を特定
-
Java Script 色を塗れるプログ...
-
描画処理が実行されない
-
Java Androidの画面レイアウト...
-
canvasで表示されてる画像を1...
-
JAVAでの背景画像表示
-
エクセルVBAで、条件に一致する...
-
「タイプ初期化子が例外をスロ...
-
private static という変数の修飾
-
レコード件数の表示
-
配列の重複する値とその個数を...
-
変数名の付け方
-
onClickで関数呼出し後に、結果...
-
EXCEL VBAにて動的にCheckBOXを...
-
クラス間でのデータ参照
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
VB.NETのSendMessageを教えてく...
-
VB.NET フォーム上に描いたグ...
-
JAVAでの背景画像表示
-
C# DataGridView のCellPaintin...
-
C# リストビューの特定のセルの...
-
複数画像表示切り替え Visual c++
-
GDI+で描画した画像を消去する...
-
canvasで表示されてる画像を1...
-
アクセスで他アプリから復帰し...
-
Java、jPanelに描画する
-
Javaで文字の角度を変えて表示...
-
描画してもウィンドウをリサイ...
-
getGraphics()の意味を教えて...
-
Canvas等の図形を移動する時,直...
-
ドラッグして矩形を描くには
-
画面のちらつきの原因が知りた...
-
このプログラミングをどう組み...
-
C#のGraphicsクラスについてです。
-
Androidで画像の中で指定した範...
-
Labelコントロールの背景をグラ...
おすすめ情報