2014-02-18 3 views
1

모양을 형성하는 몇 줄 (ANSI 인코딩)을 보내는 클라이언트 소켓이 있습니다. 문제는 로그 고양이에서 선을 인쇄 할 때 전체 모양을 형성하지만 레이아웃에서 텍스트 길이가 같은 경우에도 모양이 형성되지 않는다는 것입니다. 문제가 공백 문자의 바이트 크기에 있다는 것을 알 수 있습니다. 하지만 로그 고양이에서 볼 수 있기 때문에 완전한 모양을 형성하기 위해 textviews를 설정하는 방법이 있어야합니다. 모든 공백 문자를  으로 바꾸고 텍스트를 html 형식으로 설정했지만 여전히 운이 좋지는 않았습니다. 제가 놓친 방법이 있습니까?안드로이드 문자 크기

class ClientThread implements Runnable { 

     private BufferedReader input; 


     @Override 
     public void run() { 
      // TODO Auto-generated method stub 
      try { 
       InetAddress servAddress = InetAddress.getByName(SERVER_IP); 
       socked = new Socket(servAddress, SERVERPORT); 
       input = new BufferedReader(new InputStreamReader(socked.getInputStream(), "windows-1252")); 
       while(!Thread.currentThread().isInterrupted()) { 
        String read = input.readLine(); 
        updateConversationHandler.post(new updateUIThread(read)); 
       } 
      } catch (UnknownHostException e) { 
       // TODO Auto-generated catch block 
       e.printStackTrace(); 
      } catch (IOException e) { 
       // TODO Auto-generated catch block 
       e.printStackTrace(); 
      } 
     } 


    } 
    class updateUIThread implements Runnable { 
     String msg; 
     public updateUIThread (String str) { 
      this.msg = str; 

     } 
     @Override 
     public void run() { 
      // TODO Auto-generated method stub 
      TextView tv = new TextView(cont); 
      tv.setTextColor(Color.WHITE); 
//   tv.setText(makeTextWithColors(msg)); 
//   tv.setText(msg + "count: " + msg.length()); 
      tv.setText(msg); 
      screen.addView(tv); 
      scroller.post(new Runnable() { 
       public void run() { 
        scroller.smoothScrollTo(0, screen.getBottom()); 
       } 
      }); 
     } 
} 
+0

ASCII 아트에 대해 이야기하고 있습니까? – Merlevede

+1

고정 폭 글꼴을 사용하십시오. UTF-8 인코딩을 사용하고 있는지 확인하십시오. 또는 "상징적 인 글꼴"(특수 기호가있는 특수 글꼴)을 사용하십시오. –

답변

1

tv.setTypeface(Typeface.MONOSPACE); 

트릭을했던 것 같다. 같은 폭의 모든 문자를 만드는 글꼴입니다.

0
TextView tb; 

tb.setTextSize(20); 

tb=Text View it will get floating point value of size you can put there integral type value 
+0

@Barriscan 나는 그것이 도움이 될 것이라고 생각합니다. – Amitsharma