当前位置: 代码迷 >> Android >> Android - RelativeLayout CENTER_VERTICAL和BELOW问题
  详细解决方案

Android - RelativeLayout CENTER_VERTICAL和BELOW问题

热度:66   发布时间:2023-08-04 11:12:08.0

我想在顶部有一个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不是垂直中心。

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

  相关解决方案