Android片段视图无法按要求呈现

时间:2015-09-16 21:20:59

标签: android android-fragments

这是我目前的布局:

enter image description here

我知道它是黑色但我的手机正面朝下。它应该是相机预览。无论如何,无论是什么渲染小的渲染在大的渲染。

小型相机预览,占据屏幕高度的一半和屏幕宽度的1/4(横向模式)。现在按比例它应该填充屏幕的其余部分(下半部分),但事实并非如此。你可以看到问题是它没有使用所有的高度,有2条绿线。

这是我的代码:

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:orientation="horizontal"
    tools:context=".MainPreviewActivity">


    <RelativeLayout
        android:layout_width="0dp"
        android:layout_height="fill_parent"
        android:orientation="vertical"
        android:layout_weight="1" >

        <View
            android:id="@+id/center_dummy_view"
            android:layout_width="0dp"
            android:layout_height="0dp"
            android:layout_centerInParent="true"/>

        <FrameLayout
            android:id="@+id/clean_preview_fragment_container"
            android:layout_width="fill_parent"
            android:layout_height="fill_parent"
            android:layout_alignBottom="@id/center_dummy_view"
            android:background="@color/LightGrey"/>

        <android.support.v7.widget.RecyclerView
            android:layout_width="fill_parent"
            android:layout_height="fill_parent"
            android:id="@+id/listOptionsRecyclerView"
            android:layout_alignTop="@id/center_dummy_view"
            android:background="@color/LightGrey"/>

    </RelativeLayout>

    <FrameLayout
        android:id="@+id/processed_preview_fragment_container"
        android:layout_weight="1"
        android:layout_width="0dp"
        android:layout_height="fill_parent"
        android:background="@color/WhiteSmoke"/>

</LinearLayout>

您可以看到FrameLayout@+id/processed_preview_fragment_containerfill_parent layout_height值。

片段视图是:

<RelativeLayout
    xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    tools:context="com.apps.foo.bar.fragments.ProcessedPreviewFragment">

    <ImageView
        android:id="@+id/processed_preview_img_view"
        android:background="@color/LimeGreen"
        android:layout_width="fill_parent"
        android:layout_height="fill_parent" />
</RelativeLayout>

1 个答案:

答案 0 :(得分:0)

尝试使用下面的代码作为片段视图,因为imageview默认属性在中心绘制图像,因此它不会根据视图的高度和宽度缩放图像。所以你需要指定图像的比例类型。我在这张图片中使用过“fitXY”将覆盖整个高度和宽度,但图像可能会拉伸,因此您可以根据需要进行更改

    <RelativeLayout
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
tools:context="com.apps.alexs7.pointop.fragments.ProcessedPreviewFragment">

<ImageView
    android:id="@+id/processed_preview_img_view"
    android:background="@color/LimeGreen"
    android:layout_width="fill_parent"
    android:scaleType="fitXY"
    android:layout_height="fill_parent" />