【问题标题】:Set Top Margin Only in android?仅在 android 中设置顶部边距?
【发布时间】:2014-08-15 09:43:40
【问题描述】:

我只是务实地尝试设置上边距,我正在这样做

 TextView tv = (TextView)findViewById(R.id.my_text_view);
 LinearLayout.LayoutParams params = (LinearLayout.LayoutParams)tv.getLayoutParams();
 params.setMargins(0, 0, 10, 0); //substitute parameters for left, top, right, bottom
 tv.setLayoutParams(params);

现在的问题是我已经在 xml 文件中给出了一些右边距左边距值的值,并且通过在 java 类中进行编码它会干扰 xml 值,有没有办法只设置上边距?

【问题讨论】:

    标签: android layout margins


    【解决方案1】:

    您可以直接修改params中的topMargin

    LinearLayout.LayoutParams params = (LinearLayout.LayoutParams)tv.getLayoutParams();
    params.topMargin = 10;
    

    【讨论】:

      【解决方案2】:

      我猜答案看起来像这样:

           TextView tv = (TextView)findViewById(R.id.tv_1);
           LinearLayout.LayoutParams params = (LinearLayout.LayoutParams)tv.getLayoutParams();
           params.topMargin = 10;
           tv.setLayoutParams(params);
      

      【讨论】:

      【解决方案3】:

      获取其他边距并重新设置:

      int leftMargin = params.leftMargin;
      int rightMargin = params.rightMargin;
      int bottomMargin = params.bottomMargin;
      
      params.setMargins(leftMargin, rightMargin, 10, bottomMargin)
      

      【讨论】:

        【解决方案4】:

        你需要

        android:layout_marginTop="5dp"
        

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2017-01-04
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多