Android版面未在横向模式下按预期加载

时间:2014-10-14 16:46:53

标签: android android-layout android-fragments

我已经创建了一个片段的布局,在纵向模式下似乎看起来很好但在横向上我无法正确看到布局,滚动似乎无法正常工作。

查找下面的fragment_layout.xml代码:

<RelativeLayout
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"
tools:context="com.example.fragments.TestFragment"
android:orientation="vertical"
android:background="@color/background">

<RelativeLayout
    android:layout_height="wrap_content"
    android:layout_width="fill_parent"
    android:id="@+id/randomMainRelLayout"
    android:layout_alignParentBottom="true"
    android:orientation="horizontal">
    <RelativeLayout
        android:layout_height="wrap_content"
        android:layout_width="wrap_content"
        android:id="@+id/ranNWImage1"
        android:orientation="vertical">
        <ImageView
            android:id="@+id/ranNWImageView1"
            android:layout_width="170dp"
            android:layout_height="170dp"
            android:scaleType="centerCrop"
            android:layout_margin="1dp"/>
        <TextView
            android:id="@+id/ranNWImageTxtView1"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_alignLeft="@+id/ranNWImageView1"
            android:layout_alignTop="@+id/ranNWImageView1"
            android:layout_alignRight="@+id/ranNWImageView1"
            android:layout_alignBottom="@+id/ranNWImageView1"
            android:gravity="bottom"
            android:text="Image Heading"
            android:textColor="@color/title"
            android:textSize="18dip"/>
    </RelativeLayout>
    <RelativeLayout
        android:layout_height="wrap_content"
        android:layout_width="wrap_content"
        android:id="@+id/ranNWImage2"
        android:layout_toRightOf="@+id/ranNWImage1"
        android:orientation="vertical">
        <ImageView
            android:id="@+id/ranNWImageView2"
            android:layout_width="170dp"
            android:layout_height="170dp"
            android:scaleType="centerCrop"
            android:layout_margin="1dp"/>
        <TextView
            android:id="@+id/ranNWImageTxtView2"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_alignLeft="@+id/ranNWImageView2"
            android:layout_alignTop="@+id/ranNWImageView2"
            android:layout_alignRight="@+id/ranNWImageView2"
            android:layout_alignBottom="@+id/ranNWImageView2"
            android:gravity="bottom"
            android:text="Image Heading"
            android:textColor="@color/title"
            android:textSize="18dip"/>
    </RelativeLayout>
</RelativeLayout>

<TextView
    android:id="@+id/randomHeading"
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"
    android:layout_above="@+id/randomMainRelLayout"
    android:text="THIRD HEADING"
    android:textColor="@color/title"
    android:textSize="18dip"
    android:textStyle="bold"/>

<RelativeLayout
    android:layout_height="wrap_content"
    android:layout_width="fill_parent"
    android:id="@+id/secondMainRelLayout"
    android:layout_above="@+id/randomHeading"
    android:orientation="horizontal">
    <RelativeLayout
        android:layout_height="wrap_content"
        android:layout_width="wrap_content"
        android:id="@+id/relNWImage1"
        android:orientation="vertical">
        <ImageView
            android:id="@+id/relNWImageView1"
            android:layout_width="170dp"
            android:layout_height="170dp"
            android:scaleType="centerCrop"
            android:layout_margin="1dp"/>
        <TextView
            android:id="@+id/relNWImageTxtView1"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_alignLeft="@+id/relNWImageView1"
            android:layout_alignTop="@+id/relNWImageView1"
            android:layout_alignRight="@+id/relNWImageView1"
            android:layout_alignBottom="@+id/relNWImageView1"
            android:gravity="bottom"
            android:text="Image Heading"
            android:textColor="@color/title"
            android:textSize="18dip"/>
    </RelativeLayout>
    <RelativeLayout
        android:layout_height="wrap_content"
        android:layout_width="wrap_content"
        android:id="@+id/relNWImage2"
        android:layout_toRightOf="@+id/relNWImage1"
        android:orientation="vertical">
        <ImageView
            android:id="@+id/relNWImageView2"
            android:layout_width="170dp"
            android:layout_height="170dp"
            android:scaleType="centerCrop"
            android:layout_margin="1dp"/>
        <TextView
            android:id="@+id/relNWImageTxtView2"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_alignLeft="@+id/relNWImageView2"
            android:layout_alignTop="@+id/relNWImageView2"
            android:layout_alignRight="@+id/relNWImageView2"
            android:layout_alignBottom="@+id/relNWImageView2"
            android:gravity="bottom"
            android:text="Image Heading"
            android:textColor="@color/title"
            android:textSize="18dip"/>
    </RelativeLayout>
</RelativeLayout>

<TextView
    android:id="@+id/secondHeading"
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"
    android:layout_above="@+id/secondMainRelLayout"
    android:text="second"
    android:textColor="@color/title"
    android:textSize="18dip"
    android:textStyle="bold"/>

<RelativeLayout
    android:layout_height="wrap_content"
    android:layout_width="fill_parent"
    android:id="@+id/firstMainRelLayout"
    android:layout_above="@+id/secondHeading"
    android:orientation="horizontal">
    <ImageView
        android:id="@+id/firstNWImageView"
        android:layout_width="170dp"
        android:layout_height="170dp"
        android:scaleType="centerCrop"
        android:layout_margin="1dp"/>
    <LinearLayout
        android:layout_height="wrap_content"
        android:layout_width="fill_parent"
        android:id="@+id/firstTitleRelLayout"
        android:layout_toRightOf="@id/firstNWImageView"
        android:orientation="vertical">
        <TextView
            android:id="@+id/first__heading"
            android:text="FIRST HEADING"
            android:textColor="@color/title"
            android:textStyle="bold"
            android:textSize="18dip"
            android:paddingTop="10dp"
            android:paddingBottom="10dp"
            android:layout_height="wrap_content"
            android:layout_width="wrap_content"/>
        <TextView
            android:id="@+id/first__title"
            android:text="Subtitle"
            android:textColor="@color/title"
            android:textSize="18dip"
            android:layout_height="wrap_content"
            android:layout_width="wrap_content"/>
    </LinearLayout>
</RelativeLayout>

布局如下图所示:

Fragment Layout in Portrait mode

它在景观模式中搞乱了。不确定我错过了什么?任何帮助将不胜感激。

它在景观中如下所示。布局是固定的,没有滚动;

Landscape mode

1 个答案:

答案 0 :(得分:1)

您似乎没有ScrollView元素,因此它不会滚动。

似乎根据你的xml正确绘制,因为你在xml中首先定义了底部元素 - 横向屏幕不够高,无法显示所有内容,因此其他元素不会显示。这是你打算开始绘制第三个元素,将它对接到底部的意图吗?看起来您的布局应该只是从顶部到底部的元素的简单堆叠,所有这些都在ScrollView中?如果没有你解释你想要实现的目标,很难说。