2016-04-20 4 views
0

У меня есть немного странная проблема. У меня есть ImageView, который завернут в NestedScrollView.ImageView в ScrollView

Схема выглядит следующим образом:

<?xml version="1.0" encoding="utf-8"?> 
<android.support.v4.widget.NestedScrollView 
    xmlns:android="http://schemas.android.com/apk/res/android" 
    xmlns:app="http://schemas.android.com/apk/res-auto" 
    xmlns:tools="http://schemas.android.com/tools" 
    android:layout_width="match_parent" 
    android:layout_height="wrap_content" 
    app:layout_behavior="@string/appbar_scrolling_view_behavior" 
    tools:context=".image" 
    tools:showIn="@layout/image_activity"> 

    <ImageView 
    android:layout_width="match_parent" 
    android:layout_height="wrap_content" 
    android:src="@drawable/image"/> 
</android.support.v4.widget.NestedScrollView> 

EDIT:

<?xml version="1.0" encoding="utf-8"?> 
<android.support.design.widget.CoordinatorLayout 
    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" 
    xmlns:app="http://schemas.android.com/apk/res-auto" 
    android:fitsSystemWindows="true" 
    tools:context=".image"> 

    <android.support.design.widget.AppBarLayout 
    android:layout_width="match_parent" 
    android:layout_height="wrap_content" 
    app:elevation="0dp" 
    android:theme="@style/AppTheme.Base.AppBarOverlay"> 

    <android.support.v7.widget.Toolbar 
     android:id="@+id/toolbar" 
     android:elevation="0dp" 
     android:layout_width="match_parent" 
     android:layout_height="?attr/actionBarSize" 
     android:background="?attr/colorPrimary" 
     app:popupTheme="@style/AppTheme.Base.PopupOverlay"/> 

    </android.support.design.widget.AppBarLayout> 

    <include layout="@layout/image_content"/> 
</android.support.design.widget.CoordinatorLayout> 

Моя проблема заключается в том, что на устройстве с 4.2.2 установлен изображение находится на одном уровне с панелью инструментов (что я хочу) НО на устройстве с 4.1.1 изображение имеет какой-то отступы от где-то, что создает промежуток между изображением и панелью инструментов, которая смотрит на размер панели инструментов:

См. Изображение ниже:

Image with spacing about the image

Там нет абсолютно никакой набивка или запас в любом месте, когда дело доходит до этого экрана, но по какой-то причине на устройствах 4.1.1 это пространство там, но на новых устройствах нет разнос?

Не уверен, что происходит здесь. Я пробовал android:align_paddingTop="-56dp" из отчаяния, но это не решило проблему.

P.S. Мне нужно, чтобы этот экран мог прокручиваться, так как изображение довольно длинное.

+0

Я считаю, что ваш вид прокрутки должен иметь высоту = "match_parent". Вы определяете размер видимого размера, нет смысла обертывать в направлении прокрутки. – cyroxis

+0

Я предполагаю, что это не макет, который вы надуваете для своей деятельности. Макет, который проходит в 'setContentView' для вашей деятельности, имеет проблему. Покажи нам это? –

+0

@ VinayWadhwa done – x10sion

ответ

1

Я считаю, что происходит, что ImageView вычисляет его высоту на основе высоту битовой карты, а потому, что растровый не будет соответствовать ImageView он получает пересчитан, чтобы соответствовать ширине и центрируется по вертикали, в результате чего в этих белых пространствах. Если вы используете setAdjustViewBounds(true) или android:adjustViewBounds="true" на ImageView, он должен отрегулировать его высоту в соответствии с измененной высотой растрового изображения. (Остерегайтесь, на API 16 границы обзора могут быть сжаты, а не расширены.)

Смежные вопросы