将远程图像缩放到设备高度和宽度

时间:2013-02-19 11:28:20

标签: android android-layout

我正在尝试构建一个具有ScrollView的Android应用程序,其中一个图像(远程URL)填满屏幕(marginTop,marginLeft,marginRight和marginBottom设置为大约5dp)当你向下滚动时,你会发现进一步的UI组件。

我发现很难将图像缩放到精确的尺寸。无法控制图像的大小。有些可能很小,有些可能很大。如果它很小,我想拉伸它以适应屏幕。我的XML看起来像这样:

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

    <ProgressBar
    android:layout_width="100dp"
    android:layout_height="100dp"
    android:indeterminate="true" 
    android:layout_centerInParent="true"
    android:visibility="invisible"
    android:id="@+id/movieImageLoading"/>

    <ImageView android:id="@+id/headerImage"
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"
    android:layout_gravity="center"
    android:scaleType="fitXY"
    android:layout_marginTop="5dp"
    android:layout_marginLeft="5dp"
    android:layout_marginRight="5dp"
    android:layout_marginBottom="5dp"
    android:contentDescription="@string/movie_image"></ImageView>

    <Button
        android:id="@+id/save2"
        android:layout_width="150dp"
        android:layout_marginTop="10dp"
        android:layout_height="wrap_content"
        android:layout_centerHorizontal="true"
        android:layout_below="@+id/headerImage"
        android:text="save" />

</RelativeLayout>

这是错误的,有人可以帮帮我吗?

谢谢..

1 个答案:

答案 0 :(得分:0)

尝试这种布局

将您的按钮设置为底部以修复并使用填充父级设置按钮上方的图像视图,最后指定进度条

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent" > <!-- here make wrap to fill -->
    <Button
        android:id="@+id/save2"
        android:layout_width="150dp"
        android:layout_height="wrap_content"
        android:layout_centerHorizontal="true"
        android:layout_marginTop="10dp"
        android:text="save"
        android:layout_alignParentBottom="true" />

    <ImageView
        android:id="@+id/headerImage"
        android:layout_width="fill_parent"
        android:layout_height="fill_parent"
        android:layout_above="@+id/save2"
        android:layout_gravity="center"
        android:layout_margin="5dp"
        android:contentDescription="movie_image"
        android:scaleType="fitXY" >
    </ImageView>

    <ProgressBar
        android:id="@+id/movieImageLoading"
        android:layout_width="100dp"
        android:layout_height="100dp"
        android:layout_centerInParent="true"
        android:indeterminate="true"
        android:visibility="invisible" />
</RelativeLayout>