问题描述
我想在顶部有一个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
不是垂直中心。
1楼
您制作了VideoView fill_parent / fill_parent,它为其提供了与其父RelativeLayout相同的尺寸。 如果它和RelativeLayout一样大,那么居中就无法真正起作用。 此外,您不能让VideoView位于TextView下方并在父级中垂直居中; 它是一个或另一个。 相反,您可以将ViewView居中并将TextView置于其上方。