【问题标题】:margin in dynamic textView Android动态textView Android中的边距
【发布时间】:2014-06-07 03:11:19
【问题描述】:

我正在尝试动态创建一个文本视图。

    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 个文本视图之间给出边距或间隙吗?

谢谢

【问题讨论】:

    标签: android textview margin


    【解决方案1】:

    您要查找的是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;
    

    【讨论】:

      【解决方案2】:

      您可以尝试在每 2 个 TextView 之间添加一个空的 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;
      }
      

      【讨论】:

        猜你喜欢
        • 2012-07-30
        • 1970-01-01
        • 2012-10-27
        • 1970-01-01
        • 2021-12-31
        • 1970-01-01
        • 2012-06-19
        • 2012-10-01
        • 2014-10-06
        相关资源
        最近更新 更多