2012-03-14 4 views
1

2 차원 문자 기반 그리드를 표시하려고하는 TextView가 있습니다. 내 Java 코드에서 2 차원 배열을 만들었습니다. 배열을 문자열로 채우고 각 요소를 다른 배열에 추가하고 배열 행 끝에 도달하면 줄 바꿈 문자 (.n)도 추가합니다. 그런 다음이 방법으로 배열의 모든 항목으로 가득 찬 큰 긴 단일 문자열을 \ n과 순서대로 사용하고 setText (string)을 수행합니다. 그렇게하면 TextView는 디스플레이에 2 차원 격자를 표시합니다. 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)를 on으로 사용하고 작동하지만 다음과 같이 진행됩니다. # 열 1에 약 10 공백 (의도 한대로) 다음 13 열에 다른 # 그리고 나서 다음 행. 맨 윗줄에는 22 개의 기호가 모두 있고, 맨 아래 줄에는 22 개의 기호가 모두 있습니다.

내 텍스트 뷰는 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

나는 문제가 당신이 고정 폭 서체를 사용하도록 텍스트 뷰를 선언하지 않았다고 생각합니다, 그래서 모든 공간이있다, 그러나 # 기호만큼 넓지는 않습니다.

이 같은 텍스트 뷰의 서체를 지정할 수 있습니다

android:typeface="monospace" 
+0

와우 하하, 지금 너무 분명하다! 정말 고맙습니다! – FeralShadow

관련 문제