2014-04-22 40 views
0

我試圖動態地創建一個textview。動態textView中的邊距Android

int N=5; 
    TableRow row = (TableRow) findViewById(R.id.tableRow1); 
    final TextView[] myTextViews = new TextView[N]; 

    for (int i = 0; i < N; i++) { 
     // create a new textview 
     final TextView rowTextView = new TextView(this); 

     //set the format 
     rowTextView.setWidth(50); 
     rowTextView.setHeight(50); 
     rowTextView.setBackgroundColor(Color.GREEN); 
     rowTextView.setp 
     rowTextView.setPadding(2, 2, 2, 2); 

     // set some properties of rowTextView or something 
     rowTextView.setText("this is row #" + i); 

     // add the textview to the linearlayout 
     row.addView(rowTextView); 

     // save a reference to the textview for later 
     myTextViews[i] = rowTextView; 
    } 

我想給每個TextView的

 rowTextView.setPadding(2, 2, 2, 2); 

但是有一點差距或保證金,填充了文本之間的間隙與TextView的,而不是每個TextView的差距

任何人都知道如何給2 textview之間的差距或差距?

感謝

回答

0

你要尋找的是margins而不是padding。只要做這樣的事情:

TextView tv = new TextView(); 
.... 

LinearLayout.LayoutParams tvlp = (LinearLayout.LayoutParams) tv.getLayoutParams(); 
tvlp.rightMargin = 5; 
tvlp.leftMargin = 5; 
tvlp.topMargin = 5; 
tvlp.bottomMargin = 5; 
1

你可以嘗試每2個TextViews之間添加一個空的TextView:

int N=5; 
TableRow row = (TableRow) findViewById(R.id.tableRow1); 
final TextView[] myTextViews = new TextView[2 * N]; 

for (int i = 0; i < 2 * N; i++) { 
    // create a new textview 
    final TextView rowTextView = new TextView(this); 

    //set the format 
    rowTextView.setBackgroundColor(Color.GREEN); 
    rowTextView.setWidth(50); 

    if (i % 2 == 0) { 
     rowTextView.setHeight(50); 

     // set some properties of rowTextView or something 
     rowTextView.setText("this is row #" + i/2); 
    } 
    else { 
     // set the space between 2 rows 
     rowTextView.setHeight(2); 
    } 

    // add the textview to the linearlayout 
    row.addView(rowTextView); 

    // save a reference to the textview for later 
    myTextViews[i] = rowTextView; 
}