我正在尝试为我的应用构建一个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>
使用此布局,底部图像不会滚动,它会被压缩到屏幕的宽度。如果我删除了EditorView,它会滚动。我怎样才能按照自己的意愿行事?
感激不尽的任何帮助。感谢
答案 0 :(得分: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。滚动视图将允许包装的视图比其自己的边界大,但如果滚动视图比屏幕边界大,它将不会滚动,因为它认为它已经显示了所有内容。