2016-06-22 4 views
0

私は私のゲームのためのAndroidの等幅フォントを使用していますし、期待通りのフォントが動作しないことを見出しました。ゲームは、上の文字と下のアンダースコアを暗号文を解くための手がかりとしてお互いに並んでいます。しかし単語がテキストの青い線が手がかりと答えが同期外れであることが原因と次の行に進む画像に示す5行目で見ることができるようにTextViewのエッジに非常に近い場合。Androidのモノスペースフォントは実際には固定サイズですか?

私はTextView.setTypeface(Typeface.MONOSPACE)を両方の行に使用しています(これは非常に密接にフォントに基づいていますが、問題はMONOSPACEでも発生します)。

この原因とどのようにそれを修正することができるものの任意のアイデア?

enter image description here

+0

彼らはすべて同じ幅もしなければならないが、アンダースコアは特別扱いされているように見えます、別のフォントを試してみてください。また、文字「W」に同じ問題があるかどうかを確認してください。レイアウトで空白が検索されている可能性があります。 – zaph

+0

空白の問題をチェックしました - 写真と同じ問題です。別のフォントを試してみましょう... –

+0

TextViewの1ピクセル(ポイント)を小さくしたり大きくしたりすると、この問題が解決するはずです。 – zaph

答えて

0

だから、TextViewテキストの折り返しのためのアルゴリズムはほど簡単ではありませんことが判明 - この行の次の単語が合うん - >次の行の上に置いていない場合。その後、黒と青のテキストが異なることスクリーンショットで

(一方が他方にはない引用の作者を示します)。 TextViewは線を最小限にしようとしているようだが、これが達成された後は幅が最小になる。与えられたスクリーンショットの2つのテキストは、最後に小さな言葉はTextViewの幅を小さくするために再配置することができます別のテキストの〜1行です。これが問題の原因です。フォントは(私が知る限りは)完全にモノスペースです。

この問題に対するこの適切な解決策は、TextViewを拡張し、問題を処理するためにカスタムonDraw()を作成することです。私にとっては、2つのテキストが全く同じ単語を表示するだけで十分でした(ただし、1つは置換暗号を使用しています)。

関連する問題