2013-05-06 3 views
2

Я пытаюсь создать gui для своего приложения. Он состоит из двух изображений, один поверх другого. Нижнее изображение должно быть прокручиваемым, верхнее изображение должно быть исправлено.прокручиваемые и незаметные изображения

Это текущий макет XML для представления:

<?xml version="1.0" encoding="utf-8"?> 
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 
    android:layout_width="match_parent" 
    android:layout_height="match_parent" 
    android:gravity="right" 
    android:orientation="vertical" > 

    <LinearLayout 
     android:layout_width="match_parent" 
     android:layout_height="wrap_content" 
     android:gravity="right" 
     android:orientation="horizontal" > 

     <Button 
      android:id="@+id/button_load" 
      style="?android:attr/buttonStyleSmall" 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content" 
      android:text="Load" /> 

     <Button 
      android:id="@+id/button_save" 
      style="?android:attr/buttonStyleSmall" 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content" 
      android:text="Save" /> 
    </LinearLayout> 

    <uk.co.test.EditorView 
     android:id="@+id/EditorView" 
     android:layout_width="match_parent" 
     android:layout_height="wrap_content" 
     android:layout_gravity="top" /> 

    <HorizontalScrollView 
     android:id="@+id/scroll_view" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:gravity="bottom" > 

     <ImageView 
      android:id="@+id/image_view" 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content" 
      android:layout_gravity="bottom" 
      android:src="@drawable/imagemdpi" /> 
    </HorizontalScrollView> 

</LinearLayout> 

Используя этот макет, нижнее изображение не прокручивается, он сжимается по ширине экрана. Если я удалю Редактор, он прокрутит. Как я могу сделать действие gui так, как я хочу?

Любая помощь с благодарностью получена. Спасибо

ответ

2

На самом деле я не уверен, почему удаление EditorView заставляет его работать. Кроме того, я вижу только один вид изображения в вашем макете. Но чтобы заставить ImageView прокручивать по горизонтали, я бы изменил layout_width в представлении прокрутки на «match_parent» и добавил тип масштабирования в ваше изображение.

(см: https://developer.android.com/reference/android/widget/ImageView.ScaleType.html)

Я хотел бы попробовать либо «центр» или «матрицу», хотя, как правило, я должен играть с этим немного, чтобы заставить его работать так, как я хочу. так:

<HorizontalScrollView 
    android:id="@+id/scroll_view" 
    android:layout_width="match_parent" 
    android:layout_height="wrap_content" 
    android:gravity="bottom" > 

    <ImageView 
     android:id="@+id/image_view" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:scaleType="center" 
     android:layout_gravity="bottom" 
     android:src="@drawable/imagemdpi" /> 
</HorizontalScrollView> 

В целом с видом прокрутки, вы хотите match_parent для размера зрения прокрутки, но wrap_content для зрения времени прокручивается. Вид прокрутки позволит обернутому виду расти больше, чем его собственные границы, но если просмотр прокрутки растет больше, чем границы экрана, он не будет прокручиваться, потому что он думает, что он все показывает.

+0

Спасибо за помощь, теперь он работает :). РедакторView содержал ImageView, я думал, что попробую вместо этого установить ImageView и установить layout_width для HorizontalScrollView в match_parent, как вы посоветовали, и поместить в него тип шкалы, используя «center». Еще раз спасибо. – JulioM

+1

@JulioM Примите мой ответ, если он сработает для вас. Это помогает моей репутации, а также помогает будущим пользователям найти правильное решение, если у них есть аналогичная проблема. –

+0

........ Хорошо ...... – JulioM

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