2014-03-07 39 views
0

我有一個字符串數組(動態)。我必須在textview中顯示字符串。字符串的大小可能會有所不同。第一個字符串是「check」,第二個字符串是「我的頭正在打破」等等。我想讓textview自行調整。例如說:如果第一個文本視圖佔用不足一半的屏幕,第二個文本視圖將在它旁邊。否則,第二個Textview將被放置在下一行。創建動態文本視圖,其取向取決於屏幕和文本大小

請檢查下面的圖片。 我該如何達到這個目標?

enter image description here

回答

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. 
    } 
} 
相關問題