横向imageview重叠工具栏和状态栏

时间:2015-07-30 16:18:04

标签: android imageview

我有一个显示在屏幕中央的图像视图。在纵向模式下它显示正常但是当我在水平模式下旋转屏幕时,imageview正在打开我的工具栏和状态栏,如下面附带的屏幕截图所示。我尝试了几个设置,但它没有改变任何东西。我在工具栏选项下面累了,但它会在工具栏后附加imagview,但我需要在center中显示imageview。所以我需要一个帮助来修复这个laypout.Here是我的布局xml代码。

Imageview layout:

<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=".DetailActivity"
    >

    <include android:id="@+id/toolbar"
        layout="@layout/toolbar"/>


    <ImageView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_centerInParent="true"
        android:scaleType="centerInside"
        android:adjustViewBounds="true"
        android:transitionName="photo_hero"
        android:id="@+id/image"
        />
</RelativeLayout>

toobal布局:

<?xml version="1.0" encoding="utf-8"?>
<android.support.v7.widget.Toolbar
    xmlns:android="http://schemas.android.com/apk/res/android"
    android:id="@+id/toolbar"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:background="@color/colorPrimary"
    android:theme="@style/ThemeOverlay.AppCompat.Dark" >
</android.support.v7.widget.Toolbar>

截图:

http://s9.postimg.org/6lyxbaq27/landscape_problem.png http://s9.postimg.org/n8ghkdizz/landscape_problem_2.png

3 个答案:

答案 0 :(得分:0)

把这个:

android:layout_below="@+id/toolbar"

<ImageView>标记内。

应该看起来像:

<ImageView
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_below="@+id/toolbar"
    android:layout_centerInParent="true"
    android:scaleType="centerInside"
    android:adjustViewBounds="true"
    android:transitionName="photo_hero"
    android:id="@+id/image"
    />

答案 1 :(得分:0)

而不是相对布局尝试使用框架布局,如: -

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

<LinearLayout
    android:id="@+id/main_parent_view"
    xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical">


    <ImageView
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_centerInParent="true"
    android:scaleType="centerInside"
    android:adjustViewBounds="true"
    android:transitionName="photo_hero"
    android:id="@+id/image"
    />
</LinearLayout>
 <include layout="@layout/toolbar"/>

答案 2 :(得分:0)

正如Viktor所说。我使用了linearlayout,其方向是垂直的,并且在我的imageview中几乎没有参数更改。这是最终的代码:

<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"
    tools:context=".DetailActivity"
    android:orientation="vertical"
    >

    <include android:id="@+id/toolbar"
        layout="@layout/toolbar"/>


    <ImageView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:scaleType="centerInside"
        android:id="@+id/image"
        android:layout_gravity="center_horizontal"
        />
</LinearLayout>