3

我想要一个TextView在上面,一个VideoView在下面。我想将VideoView中心作为垂直并在TextView. 我正在使用RelativeLayout.

我正在尝试在代码中执行此操作:

RelativeLayout layout = new RelativeLayout(this);
TextView tv = new TextView(this);
tv.setText("Hello");
tv.setGravity(Gravity.RIGHT);
tv.setTextColor(Color.WHITE);
tv.setId(1);

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

one.addRule(RelativeLayout.ALIGN_PARENT_TOP);
one.addRule(RelativeLayout.ALIGN_PARENT_RIGHT);


RelativeLayout.LayoutParams two = new RelativeLayout.LayoutParams(LayoutParams.FILL_PARENT, LayoutParams.FILL_PARENT);  
two.addRule(RelativeLayout.CENTER_VERTICAL); 
two.addRule(RelativeLayout.BELOW, 1);

VideoView mVideoView = new VideoView(this);

layout.addView(tv, one);
layout.addView(mVideoView, two);

setContentView(layout);

VideoView放置在 下方TextView,但VideoView不是垂直居中。

4

1 回答 1

1

您制作了 VideoView fill_parent/fill_parent,这使其具有与其父 RelativeLayout 相同的尺寸。如果它和RelativeLayout 一样大,那么居中就不能真正起作用。此外,您不能让 VideoView 既位于 TextView 下方,又在父级中垂直居中;这是一个或另一个。相反,您可以将 ViewView 居中并将 TextView 放在其上方。

于 2010-07-24T23:52:58.967 回答