2012年1月27日金曜日

xml:勝手に空白文字が挿入されてしまう

xml:勝手に空白文字が挿入されてしまう

次のxmlがある。この文字列を画面に表示すると、「春」から「夏」にかけて、改行はされる。しかし、その部分に、空白文字が1個挿入されてしまうのである。なので、「夏」が1個右にズレて表示される。

<string name="AboutThis3">
春\n

</string>

これは、「春\n」と「夏」の間に、(エディタ上では見えない)改行文字が挿入されているために発生する現象である。
そして、「春\n」の前、及び「夏」の後にも、各々1個の(エディタ上では見えない)改行文字が挿入されている。
この(エディタ上では見えない)改行文字が空白文字に置き換えられるのである。
なので、この(エディタ上では見えない)改行文字を書かないようにすれば良い。解決策は次のとおりである。

<string name="AboutThis3">春\n夏</string>

(エディタ上では見えない)改行文字が空白文字に変換されてしまう仕様は、英語を記述することを想定しているためのようである。日本語しか使わないのであれば、違和感のある仕様だ。
参考:第10回 落とし穴になる空白文字と改行文字

上記例では短い文字列であったため問題は無い。
しかし、日本語で比較的長い文字列を書く場合、エディタ上で読み難くなる。

<string name="AboutThis3">【動作環境】android 2.2\n  【ソフトウェア種別】フリーソフトウェア\n【制作者名】Androyer\n 読み難いぞ(T_T)</string>

エディタ上で読み難くなるという、ただそれだけであるため、問題は無い。
しかし、やっぱり見易くしたいという御仁もいらっしゃるであろう。その場合、やむを得ないが、括弧で括り、文字列の先頭に半角空白文字を挿入して頭を揃えることになる。

    <string name="AboutThis3">
        " 【動作環境】android 2.2\n"
        "【ソフトウェア種別】フリーソフトウェア\n"
        "【制作者名】Androyer"
    </string>

第1列目が空白文字で表示されてしまうが、ご容赦して頂くことになる。このことについて、文句を言う利用者はいないであろう。

0 件のコメント:

コメントを投稿