2012-03-14 11 views
1

2次元文字ベースのグリッドを表示しようとしているTextViewがあります。私のJavaコードでは、2次元配列を作成しました。配列を文字列で埋め、各エントリを別の配列に追加します。配列行の終わりに達すると、改行文字(.n)も追加されます。このようにして、配列内のすべてのエントリでいっぱいになっている長い長い単数の文字列を(\ nで順番に)とり、setText(文字列)を実行します。そうすれば、TextViewはディスプレイ上に2dグリッドを表示するはずです。 sort-ofはこれを行います:一番上の行と一番下の行はどちらもきれいですが、その行の最後の文字と左端のどこか(約13文字)の間に空白がありません。Androidプログラミング:TextViewでフルストリングが表示されない

temp = new String(); 
    for(int i = 0; i < 22; i++){ 
     for(int j = 0; j < 22; j++){ 
      temp+=playField[i][j]; 
     } 
     temp+="\n"; 
    }return temp; 
:文字列に配列を回し、今

for(int row = 0; row < 22; row++){ 
     for(int column = 0; column < 22; column++){ 
      if(row == 0 || row == 21){ 
       playField[row][column] = "#"; 
      }else if(row > 0 && row < 21){ 
       if(column == 0 || column == 21){ 
        playField[row][column] = "#"; 
       }else{ 
        playField[row][column] = " "; 
       }     
      } 
     } 

:ここ

は、長い文字列にその配列を、配列を作り、文字とそれを充填し、作りからコードスニペットです

この文字列はtext.setText(temp)を使用していますが、動作しますが、次のようになります。#1列目に約10個の空白スペース(意図したもの)、13個目の空白スペース、次の行。一番上の行にはすべて22個の#記号があり、一番下の行にはすべて22個の#記号があります。

私は私のTextViewには、XMLでそのように設定されている:

<TextView 
    android:id="@+id/grid" 
    android:layout_width="fill_parent" 
    android:layout_height="wrap_content" 
    android:layout_alignParentTop="true" 
    android:layout_centerHorizontal="true"/> 

答えて

0

私はこの問題は、あなたが等幅書体を使用するようにのTextViewを宣言していなかったということだと思いますので、すべてのスペースがありますが、それら#記号と同じくらい広くはありません。

次のようなのTextViewの書体を指定することができます。

android:typeface="monospace" 
+0

すごいハハ、それは今では明らかです!どうもありがとうございます! – FeralShadow

関連する問題