【问题标题】:Android: how to use code to change layout_marginTop of textview?Android:如何使用代码更改 textview 的 layout_marginTop?
【发布时间】:2015-11-09 11:34:27
【问题描述】:

在 setContentView(R.layout.activity_main) 之后,我想使用代码仅更改 textview(android:layout_centerHorizo​​ntal="true") 的 layout_marginTop。

tvcity = (TextView) findViewById(R.id.city);
RelativeLayout.LayoutParams lp = new RelativeLayout.LayoutParams(RelativeLayout.LayoutParams.WRAP_CONTENT,RelativeLayout.LayoutParams.WRAP_CONTENT);
lp.setMargins(0, 20, 0, 0);
tvcity.setLayoutParams(lp);

居中更改为左对齐。
setMargins(int left, int top, int right, int bottom) 包含4个参数,但我只想更改第二个参数!

【问题讨论】:

    标签: android


    【解决方案1】:

    尝试替换

    RelativeLayout.LayoutParams lp = new RelativeLayout.LayoutParams(RelativeLayout.LayoutParams.WRAP_CONTENT,RelativeLayout.LayoutParams.WRAP_CONTENT);
    

    用这个:

    RelativeLayout.LayoutParams lp = (RelativeLayout.LayoutParams)tvcity.getLayoutParams();
    

    【讨论】:

    • 然后 lp.topMargin = 100;
    【解决方案2】:

    尝试使用现有边距:

    RelativeLayout.LayoutParams lp = new RelativeLayout.LayoutParams(RelativeLayout.LayoutParams.WRAP_CONTENT,RelativeLayout.LayoutParams.WRAP_CONTENT);
    lp.setMargins(lp.leftMargin, 20, lp.rightMargin, lp.bottomMargin);
    tvcity.setLayoutParams(lp);
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-08-21
      • 2022-01-12
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多