2015-02-27 4 views
0

У меня возникла такая проблема, что при запуске приложения я получаю нежелательное пустое место сверху и снизу.android ImageView adjustViewBounds не работает. Пробел

Я попытался использовать adjustViewBounds и различные типы шкал, я хочу, чтобы мои фотографии были такими, какие они есть, но просто удалите пробелы.

Imageviews меняет изображение src в моем java-коде, где я загружаю фотографии в действие телефона, а затем устанавливаю изображение в загруженное растровое изображение.

Вот изображение того, как это выглядит на моем эмуляторе, есть один полный экран пробелов, пока вы не перейдете к следующему imageView, прокручивая ScrollView.

enter image description here

Здесь вы можете увидеть мой код XML. TouchImageView - это просто масштабируемый тип imageView.

<ScrollView xmlns:android="http://schemas.android.com/apk/res/android" 
android:id="@+id/ScrollView01" 
android:layout_width="fill_parent" 
android:layout_height="fill_parent" 
android:fadingEdge="none" 
android:fillViewport="true" > 

<RelativeLayout 
    android:layout_width="match_parent" 
    android:layout_height="wrap_content" > 

    <LinearLayout 
     android:layout_width="match_parent" 
     android:layout_height="wrap_content" 
     android:orientation="vertical" > 

     <TextView 
      android:id="@+id/tVInformation" 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content" 
      android:layout_alignParentTop="true" 
      android:layout_centerHorizontal="true" 
      android:text="TextView" 
      android:visibility="gone" /> 

     <com.fluffow.csgosmokes.TouchImageView 
      android:id="@+id/iVsmoke1" 
      android:layout_width="match_parent" 
      android:layout_height="wrap_content" 
      android:adjustViewBounds="true" 
      android:scaleType="centerInside" 
      android:src="@drawable/ic_launcher" /> 

     <com.fluffow.csgosmokes.TouchImageView 
      android:id="@+id/iVsmoke2" 
      android:layout_width="match_parent" 
      android:layout_height="wrap_content" 
      android:adjustViewBounds="true" 
      android:scaleType="centerInside" 
      android:src="@drawable/ic_launcher" /> 

     <com.fluffow.csgosmokes.TouchImageView 
      android:id="@+id/iVsmoke3" 
      android:layout_width="match_parent" 
      android:layout_height="wrap_content" 
      android:adjustViewBounds="true" 
      android:scaleType="centerInside" 
      android:src="@drawable/ic_launcher" /> 

     <com.fluffow.csgosmokes.TouchImageView 
      android:id="@+id/iVsmoke4" 
      android:layout_width="match_parent" 
      android:layout_height="wrap_content" 
      android:adjustViewBounds="true" 
      android:scaleType="centerInside" 
      android:src="@drawable/ic_launcher" 
      android:visibility="invisible" /> 
    </LinearLayout> 
</RelativeLayout> 

Интересным является тот факт, что каждый ImageView получил ровно один андроид симулятор экрана «пробел» между собой, и что если я цвет один imageviews-фон половину пробельных будет этот цвет , следующая половина из следующего изображения. Он получил такое же количество пробелов до и после изображения.

ответ

1

Проблема была с touchImageView. Он создал whitespace, который не удалось удалить.

0

Вы используете масштаб типа centerInside и то, что он на самом деле делает

Scale the image uniformly (maintain the image's aspect ratio) so that both dimensions (width and height) of the image will be equal to or less than the corresponding dimension of the view (minus padding). The image is then centered in the view

Теперь ваша высоту wrap_content так будет масштабироваться при сохранении соотношения сторон и, как только он ударил либо измерение этого обыкновения масштаба за что , Если вы хотите remnove белого пространства удалить scaleType

+0

Это ничего не изменило. Пустое пространство все еще там, – fluffow

0

Удалить android:scaleType="centerInside" из ваших TouchImageView и белых пространств между последовательным TouchImageView должен быть удален.

+0

Это ничего не меняет. Белое пространство все еще там. – fluffow

0

Попробуйте удалить adjustViewBounds. Это может привести к пробелу по сторонам, если ваш растровый рисунок имеет меньшую ширину, чем экран, но он отлично работает в противном случае.

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