2013-05-31 62 views
0

如何使用屏幕填充滚动视图创建一个布局,该图像在imageview中缩放图像以适合整个滚动视图并可滚动?例如。 720x1280显示器具有全屏滚动视图(fill_parent)。里面是一个线性布局(fill_parent)。在图像视图中,300x900位图可以放大到720x2160,可以填充屏幕宽度并超出垂直范围,并且可以在滚动视图中向上/向下滚动。如何缩放小图像视图以填充大滚动视图?

该解决方案应适用于所有屏幕尺寸从手机支持多个设备到平板电脑。

回答

1

这个工作对我来说:

<ScrollView 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" > 

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

     <ImageView 
      android:layout_width="720dp" 
      android:layout_height="2160dp" 
      android:src="@drawable/image" 
      android:scaleType="fitXY"/> 

    </LinearLayout> 

</ScrollView> 

如果您需要这项工作对于任何屏幕尺寸都可以通过编程实现:

​​
+0

这样做,但该解决方案仅适用于固定屏幕大小。如果同一应用程序在600 x 1024显示屏或320 x 480显示屏上运行,则该图像不会缩放。 –

+1

您需要以编程方式缩放ImageView,或提供不同的布局。 ImageView需要具有正确的宽度和高度布局参数。这些对于不同的屏幕尺寸会有所不同。 –

+0

好的。这很糟糕。看起来Android是围绕一切以编程方式构建的。 –

0

如果滚动视图的高度和宽度填写父母比,如果背景设置有一个小的图像会自动在你的布局扩大

+0

这将缩放图像以适应屏幕,但不会大于屏幕以便可以滚动。我也想在imageview之后使用buttonview。 –

+0

滚动的作品,但如果你没有元素的总高度大于屏幕尺寸,他们将离开屏幕 – anddevmanu

+0

我的滚动视图只包含一个图像。拥有背景图片不会适当缩放。 –