2014-03-07 1 views
0

문자열 배열 (동적)이 있습니다. 그 문자열을 텍스트보기에 표시해야합니다. 문자열의 크기가 다를 수 있습니다. 첫 번째 문자열은 "check"이고, 두 번째 문자열은 "my head is breaking"입니다. 나는 textview 자체를 조정하고 싶습니다. 첫 번째 텍스트 뷰가 화면의 절반보다 작 으면 두 번째 텍스트 뷰가 옆에 표시됩니다. 그렇지 않으면 두 번째 Textview가 다음 행에 배치됩니다.방향이 화면 및 텍스트 크기에 따라 달라지는 동적 텍스트 뷰 만들기

다음 이미지를 확인하십시오. 어떻게 이런 식으로 할 수 있습니까?

enter image description here

답변

0

당신은 디스플레이 크기를 확인 할 수 있으며, 당신은 당신의 크기 텍스트 뷰는 것을 확인할 수 있습니다. 문제가되어서는 안됩니다. 그렇지 않으면 알려주세요.

display size

textview size without to draw first

1

나는 원어민 아니에요.

목적을 달성하려면 다음 단계를 따라야합니다. 1. 기기의 크기를 찾으십시오. 이전에이 작업을 수행 했으므로 여기에 구현했습니다. 당신은 장치의 크기가되면

protected void loadDeviceDimensions(){ 
    Point size = new Point();//Calcular Width y Height. 
    WindowManager w = getWindowManager(); 
    if(Build.VERSION.SDK_INT >= Build.VERSION_CODES.HONEYCOMB_MR2) 
    { 
     w.getDefaultDisplay().getSize(size); 
     DeviceWidth = size.x; 
     DeviceHeight = size.y; 
    } 
    else 
    { 
     Display d = w.getDefaultDisplay(); 
     DeviceWidth = d.getWidth(); 
     DeviceHeight = d.getHeight(); 
    } 
} 
  1. 다음 단계는 텍스트 필드, 텍스트, 글꼴, 그리고 다른 모든 물건을 만드는 것입니다. 위치에 대해 걱정하지 마시고, 필드를 만드십시오.
  2. 텍스트 및 글꼴 세트로 필드를 작성한 후에는 위치를 설정해야합니다. 이러한 목적을 위해 TextView.getWidth() 및 TextView.getHeight()를 사용해야합니다. 코드는 다음과 같아야합니다.
for(int i=0, i < textView-1 , i++) { 

    if(textViews[i].getWidth <= deviceWidth/2 && textViews[i+1].getWidth <= deviceWidth/2){ 
      //Put the two text fields on the same line 
      i++;//Don't forget this line. 
    }else{ 
      //Put only one text field on the line. 
    } 
} 
관련 문제