Android垂直布局:所有我的文本控件都呈现在顶部

Android垂直布局:所有我的文本控件都呈现在顶部,android,Android,我只想垂直显示标题、图片和描述,但取而代之的是图片上方的所有文本控件,而我在ViewPager显示的片段中指定了垂直布局(android:orientation=“vertical”): <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:orientation="ve

我只想垂直显示标题、图片和描述,但取而代之的是图片上方的所有文本控件,而我在ViewPager显示的片段中指定了垂直布局(android:orientation=“vertical”):

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:orientation="vertical"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:paddingBottom="@dimen/activity_vertical_margin"
    android:paddingLeft="@dimen/activity_horizontal_margin"
    android:paddingRight="@dimen/activity_horizontal_margin"
    android:paddingTop="@dimen/activity_vertical_margin"
    tools:context=".MainActivity$DummySectionFragment" >

        <TextView
        android:id="@+id/section"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content" />

        <ImageView 
        android:id="@+id/image"
        android:src="@drawable/image1"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        />

        <TextView
        android:id="@+id/description"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content" />

</RelativeLayout>

android:orientation=“vertical”用于LinearLayout,请将其更改为LinearLayout,或者如果要使用RelativeLayout,请精确定义视图相对于其他视图的显示位置。此处的更多信息:

android:orientation=“vertical”
用于LinearLayout,请将其更改为LinearLayout,或者如果要使用RelativeLayout,请精确定义视图相对于其他视图的显示位置。更多信息请点击此处:




使用线性布局而不是相对布局,或者只实施工程Samer T解决方案

使用线性布局而不是相对布局,或者只实施工程Samer T解决方案

您正在使用的相对布局

在相对布局中,无论方向如何

只需使用下面的代码片段

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical"
    android:paddingBottom="@dimen/activity_vertical_margin"
    android:paddingLeft="@dimen/activity_horizontal_margin"
    android:paddingRight="@dimen/activity_horizontal_margin"
    android:paddingTop="@dimen/activity_vertical_margin"
    tools:context=".MainActivity$DummySectionFragment" >

    <TextView
        android:id="@+id/section"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="section" />

    <ImageView
        android:id="@+id/image"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:src="@drawable/ic_launcher" />

    <TextView
        android:id="@+id/description"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="description" />

</LinearLayout>

您正在使用的是relativelayout

在相对布局中,无论方向如何

只需使用下面的代码片段

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical"
    android:paddingBottom="@dimen/activity_vertical_margin"
    android:paddingLeft="@dimen/activity_horizontal_margin"
    android:paddingRight="@dimen/activity_horizontal_margin"
    android:paddingTop="@dimen/activity_vertical_margin"
    tools:context=".MainActivity$DummySectionFragment" >

    <TextView
        android:id="@+id/section"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="section" />

    <ImageView
        android:id="@+id/image"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:src="@drawable/ic_launcher" />

    <TextView
        android:id="@+id/description"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="description" />

</LinearLayout>


您的父布局是相对的,但您对子元素的编码方式是针对LinearLayout的。您的父布局是相对的,但您对子元素的编码方式是针对LinearLayout的。使用下面的android:layout\u和上面的android:layout\u使用下面的android:layout\u和上面的android:layout\u