如何在不影响Android中图像宽高比的情况下拉伸图像?

时间:2016-08-07 08:57:23

标签: android android-layout android-fragments android-viewpager

我创建了一个view pager,它有一个来自服务器的图像。 图像的分辨率为980X551

我需要在屏幕的一半显示此图像。

在ViewPage布局中,我将图片的widthXheight设置为match_parent

在我的MainActivity中,我使用权重来定义ViewPager的高度。

问题是,在Main Activity我增加高度时 图像,它的开始拉伸,我需要在半页显示它,它 当我把它的高度设置为半屏时,看起来很舒服。

请指导我如何在不影响Android中图像宽高比的情况下拉伸图像

查看寻呼机代码

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:orientation="vertical" android:layout_width="match_parent"
    android:layout_height="match_parent"
    >


    <ImageView
        android:id="@+id/image_view"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:adjustViewBounds="true"
        android:scaleType="fitCenter"
       />

</RelativeLayout>

主要活动

    <FrameLayout
        android:layout_width="match_parent"
        android:layout_height="0dp"
        android:layout_weight="6"
        android:id="@+id/frameLayout2"

        >

        <android.support.v4.view.ViewPager
            android:layout_width="match_parent"
            android:layout_height="match_parent"
            android:id="@+id/viewPager"
            android:adjustViewBounds="true"
            android:scaleType="fitCenter"
            />

2 个答案:

答案 0 :(得分:1)

对Android使用 Pisasso library

在许多其他选项中,它允许您加载和调整图像大小。

示例代码可以是:

Picasso.with(context)
  .load(url)
  .resize(screeWidth/2, screen height/2)
  .centerCrop()
  .into(imageView);

答案 1 :(得分:1)

centerCrop选项可能适合您的情况。 并且不需要adjustViewBounds

像这样:

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
                android:orientation="vertical" android:layout_width="match_parent"
                android:layout_height="match_parent">


    <ImageView
            android:id="@+id/image_view"
            android:layout_width="match_parent"
            android:layout_height="match_parent"
            android:scaleType="centerCrop"/>

</RelativeLayout>