Android - RelativeLayout CENTER_VERTICAL и НИЖЕ проблема - PullRequest
3 голосов
/ 25 июля 2010

Я хочу 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 Ответ

1 голос
/ 25 июля 2010

Вы создали свой VideoView fill_parent / fill_parent, который дает ему те же размеры, что и его родительский RelativeLayout. Если он такой же большой, как RelativeLayout, центрирование не может работать. Кроме того, вы не можете иметь VideoView как ниже TextView, так и вертикально по центру родительского элемента; это одно или другое. Вместо этого вы можете центрировать ViewView и поместить TextView над ним.

...