【问题标题】:android position TextViews programmaticallyandroid以编程方式定位TextViews
【发布时间】:2013-09-28 20:25:41
【问题描述】:

如何将两个以编程方式创建的 TextView 放置在一个 LinearLayout 中并排在一起?我尝试了下面的代码,但是与“值”TextView 相比,“数字”TextView 被放置了一行,因此 nlap LinearLayout 的高度发生了变化。我需要两个 TextView 处于相同的高度,“数字”TextView 应该在左侧垂直居中。任何帮助表示赞赏。

    LinearLayout.LayoutParams layoutParams = new LinearLayout.LayoutParams(
            LinearLayout.LayoutParams.MATCH_PARENT,
            LinearLayout.LayoutParams.WRAP_CONTENT);
    layoutParams.setMargins(10, 1, 10, 1);

    LinearLayout nlap = new LinearLayout(this);
    nlap.setOrientation(LinearLayout.VERTICAL);
                nlap.setLayoutParams(layoutParams);

    TextView value = new TextView(this);
    value.setText("Test");
    value.setTextColor(Color.parseColor("#A60101"));
    value.setTextSize(23);
    value.setGravity(Gravity.CENTER);
    value.setTypeface(font);

    TextView number = new TextView(this);
    number.setTextColor(Color.parseColor("#FFFFFF"));
    number.setText("01");

    nlap.addView(value);
    nlap.addView(number);

【问题讨论】:

  • nlap.setOrientation(LinearLayout.HORIZONTAL); 而不是 nlap.setOrientation(LinearLayout.VERTICAL);

标签: android textview android-linearlayout


【解决方案1】:

你应该使用nlap.setOrientation(LinearLayout.HORIZONTAL);来实现textViews并排,如果你像你一样使用VERTICAL,第二个总是低于第一个。

【讨论】:

  • answer.replace("VERTICAL", "HORIZONTAL"); :)
  • 谢谢,现在文本视图被放置在 1 行但 value.setGravity(Gravity.CENTER) 不适用于我想要居中的“值”文本视图。有什么建议可以解决这个问题吗?
  • 试试 nlap.setGravity(Gravity.CENTER);
  • 可行,但现在“数字”文本视图直接放置在居中的“值”文本视图之外。但我希望数字位于布局的左侧。该死的,我知道我是个笨蛋;)我怎样才能锁定其父布局左侧的“数字”文本视图?
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多