RelativeLayout - 调整TextView的位置

时间:2013-01-20 00:37:03

标签: android android-layout android-activity

我正在玩http://developer.android.com/training/basics/的教程。

第一个活动包含TextViewButton

Button发送给第二个活动。

第二个活动包含以编程方式创建的TextView,并显示来自第一个TextView的消息。 View具有相对布局。

我希望TextView跨越父级的宽度和内容的高度,并且位于View的顶部。我也希望将文本集中在一起。

---------
-  xxx  -
-       -
-       -
-       -
-       -
---------

文字在正确的位置。但是,如果我更改TextView的背景颜色,并且所有“视图”都会获得颜色。这是预期的吗?

为了安全起见?

  • layout*参数会调整TextView内的View
  • gravity参数将调整TextView
  • 内的文字

同样遵循本教程,我没有修改初始XML,其中包含TextView,其中“Hello World”以View为中心。现在TextView在哪里?

在Eclipse IDE中:

---------
-       -
-       -
- Hello -
-       -
-       -
---------

执行期间:

---------
-  xxx  -
-       -
-       -
-       -
-       -
---------

相关代码:

    Intent intent = getIntent();
    String message = intent.getStringExtra(MainActivity.EXTRA_MESSAGE);

    // Create the text view
    TextView textView = new TextView(this);
    textView.setId(1);
    textView.setTextSize(40);
    textView.setTextColor(Color.RED);
    textView.setBackgroundColor(Color.BLACK);
    textView.setText(message);

    RelativeLayout.LayoutParams lay = new RelativeLayout.LayoutParams(LayoutParams.MATCH_PARENT, LayoutParams.WRAP_CONTENT);

    textView.setLayoutParams(lay);

    textView.setGravity(Gravity.CENTER_HORIZONTAL);

    // Set the text view as the activity layout
    setContentView(textView);

由于

1 个答案:

答案 0 :(得分:1)

  

我希望TextView跨越父级的宽度和内容的高度,并且位于视图的顶部。我也希望将文本集中在一起。

设置Textview的属性:

  • layout_width = match_parent
  • layout_height = wrap_content
  • layout_gravity = top
  • gravity = center_horizo​​nal
  

为了安全起见?

     

布局参数将调整视图内的TextView。该   重力参数将调整TextView内的文本。

布局参数将调整视图中的TextView,是。 重力参数是正确的。

万一你错过了,因为你刚刚开始this是TextView的参考。

  

另外:在教程之后,我没有修改初始的xml,其中   包含一个TextView,其中“Hello World”以View为中心。哪里   现在呢?

/res/layout/activity_main.xml应该是我相信的。

(小提示:尝试在一个地方只询问一个问题或至少所有问题,通常会得到更好的答案。)