在另一个视图下方查看并垂直居中

时间:2015-10-12 13:12:33

标签: android android-layout

以下是我的布局。我希望EditText位于布局之上,我希望VideoView垂直居中。 EditText显示正常但我看到我的VideoView在EditText下面对齐(不是垂直居中)。但是,如果我删除了android:layout_below="@+id/caption",那么我的VideoView会垂直居中,但如果视频的高度较大,那么它将会出现在EditText之上,而我并不想要这样。如何调整VideoView,使其垂直居中并位于EditText下方?

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent" android:layout_height="match_parent"
    android:padding="5dp"
    android:background="#FFFFFF"
>
<EditText
    android:id="@+id/caption"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:layout_alignParentTop="true"
    android:layout_margin="5dp"
    android:maxLength="100"
    android:hint="Hello"/>

    <VideoView
        android:id="@+id/previewvideo"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:layout_centerVertical="true"
        android:layout_below="@+id/caption"

       />
</RelativeLayout>

4 个答案:

答案 0 :(得分:0)

请查看下面对您有帮助的代码

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent" >

<EditText
    android:id="@+id/editText1"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_alignParentTop="true"
    android:layout_centerHorizontal="true"
    android:ems="10" >

    <requestFocus />
</EditText>

<VideoView
    android:id="@+id/videoView1"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_below="@+id/editText1"
    android:layout_centerHorizontal="true"
    android:layout_marginTop="5dp" />

答案 1 :(得分:0)

使用LinearLayout作为根ViewGroup,并为layout_gravity指定垂直VideoView的{​​{1}}。这将在布局中按顺序将项目从上到下放置。

orientation

答案 2 :(得分:0)

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent" android:layout_height="match_parent"
android:padding="5dp"
android:background="#FFFFFF">
    <EditText
        android:id="@+id/caption"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_alignParentTop="true"
        android:layout_margin="5dp"
        android:maxLength="100"
        android:hint="Hello"/>

    <VideoView
        android:id="@+id/previewvideo"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_centerVertical="true"
        android:layout_below="@+id/caption"/>
</RelativeLayout>

答案 3 :(得分:0)

添加layout_below会使layout_centerVertical无效。而是使EditText使用android:layout_above="@+id/previewvideo"并删除VideoView上的layout_below

你可能需要稍微调整一下,但这应该可以让你开始。