ImageView ScaleType无法正常工作-为什么?

时间:2019-05-09 08:25:50

标签: android android-layout imageview

我正在设计。还有一个用于权重的LinearLayout。在这些布局中,有ImageViews。 ImageViews显示偏离路线的图片,但是每个图像的纵横比都不同。然后,我想对ImageView的所有表面使用ImageView scaleType属性。但是什么都没有改变。在Android Studio设计预览中,它可以正常工作,但是当我们安装应用模拟器或真实设备时;没有什么变化。您可以在下面找到XML代码;

等待您的答案;谢谢。

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    app:layout_behavior="@string/appbar_scrolling_view_behavior"
    tools:context=".MainActivity"
    tools:showIn="@layout/app_bar_main"
    android:orientation="vertical"
    android:weightSum="12"
    >

    <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="0dp"
        android:orientation="horizontal"
        android:paddingTop="0dp"
        android:layout_weight="3"
        android:weightSum="3"
        >

        <ImageView
            android:id="@+id/img3"
            android:layout_width="match_parent"
            android:layout_height="match_parent"
            android:layout_alignParentLeft="true"
            android:layout_margin="0dp"
            android:layout_marginLeft="0dp"
            android:layout_marginTop="0dp"
            android:layout_marginRight="0dp"
            android:layout_weight="1.5"
            android:adjustViewBounds="true"
            android:padding="0dp"
            android:scaleType="center"
            android:src="@drawable/tarot" />


        <ImageView
            android:id="@+id/img4"
            android:layout_width="match_parent"
            android:layout_height="match_parent"
            android:layout_alignParentRight="true"
            android:adjustViewBounds="true"
            android:layout_margin="0dp"
            android:layout_marginLeft="0dp"
            android:layout_marginTop="0dp"
            android:layout_marginRight="0dp"
            android:layout_weight="1.5"
            android:padding="0dp"
            android:scaleType="fitXY"
            android:src="@drawable/sorusor" />



    </LinearLayout>

    <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="0dp"
        android:orientation="horizontal"
        android:paddingTop="0dp"
        android:layout_weight="3"
        android:weightSum="3"
        >

        <ImageView
            android:id="@+id/img3"
            android:layout_width="match_parent"
            android:layout_height="match_parent"
            android:layout_alignParentLeft="true"
            android:layout_margin="0dp"
            android:layout_marginLeft="0dp"
            android:layout_marginTop="0dp"
            android:layout_marginRight="0dp"
            android:layout_weight="1.5"
            android:adjustViewBounds="true"
            android:padding="0dp"
            android:scaleType="center"
            android:src="@drawable/tarot" />


        <ImageView
            android:id="@+id/img4"
            android:layout_width="match_parent"
            android:layout_height="match_parent"
            android:layout_alignParentRight="true"
            android:adjustViewBounds="true"
            android:layout_margin="0dp"
            android:layout_marginLeft="0dp"
            android:layout_marginTop="0dp"
            android:layout_marginRight="0dp"
            android:layout_weight="1.5"
            android:padding="0dp"
            android:scaleType="fitXY"
            android:src="@drawable/sorusor" />



    </LinearLayout>

    <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="0dp"
        android:orientation="horizontal"
        android:paddingTop="0dp"
        android:layout_weight="3"
        android:weightSum="3"
        >

        <ImageView
            android:id="@+id/magicBallBtn"
            android:layout_width="match_parent"
            android:layout_height="match_parent"
            android:layout_alignParentLeft="true"
            android:layout_marginLeft="0dp"
            android:layout_marginTop="0dp"
            android:layout_marginRight="0dp"
            android:layout_weight="1.5"
            android:padding="0dp"
            android:scaleType="fitXY"
            android:adjustViewBounds="true"
            android:src="@drawable/magicballbtn" />


        <ImageView
            android:id="@+id/burcbuton"
            android:layout_width="match_parent"
            android:layout_height="match_parent"
            android:layout_alignParentRight="true"
            android:adjustViewBounds="true"
            android:layout_margin="0dp"
            android:layout_marginLeft="0dp"
            android:layout_marginTop="0dp"
            android:layout_marginRight="0dp"
            android:layout_weight="1.5"
            android:padding="0dp"
            android:scaleType="fitXY"
            android:src="@drawable/burcbtn" />



    </LinearLayout>

    <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="0dp"
        android:layout_weight="3"
        android:orientation="vertical"
        android:paddingTop="10dp"
        >

        <ImageView
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:background="@drawable/anaekranbutontasarim"
            android:paddingTop="20dp"

            />

        <TextView
            android:layout_width="180dp"
            android:layout_height="40dp"
            android:layout_gravity="center_horizontal"
            android:background="@drawable/btntasarim1"
            android:drawableLeft="@drawable/baseline_star_black_24"

            android:text="Kredi Al"
            android:textStyle="bold"
            android:textSize="20dp"
            android:textColor="#fff"
            android:textAlignment="center"
            android:paddingVertical="5dp"
            android:paddingLeft="15dp"
            android:paddingRight="15dp"
            android:layout_marginTop="15dp"
            />

        <TextView
            android:layout_width="150dp"
            android:layout_height="wrap_content"
            android:layout_marginTop="30dp"
            android:layout_gravity="center_horizontal"
            android:text="Kalan Kredi: 100"
            android:textColor="@color/colorLight"
            android:textStyle="bold"
            android:textSize="20dp"
            />


    </LinearLayout>

</LinearLayout> 

4 个答案:

答案 0 :(得分:0)

使用

android:scaleType="centerCrop"

,请通过下面的网址 http://developer.android.com/reference/android/widget/ImageView.html#attr_android:scaleType  如果您需要进一步说明。

答案 1 :(得分:0)

将属性用于图像缩放比例

android:scaleType="fitXY"

答案 2 :(得分:0)

实际上,ScaleType=fitXYScaleType=center是完全不同的。

fitXY将具有固定的高度,然后将图像缩放到适合宽度的高度。您可以在保持图像的高宽比的同时将高度保持在一定的大小,但是可以相应地改变宽度,因此我们仍然能够控制图像的尺寸(种类)并同时保持高宽比

center只是使图像居中而不缩放它。如果在其中添加adjustViewBounds=true,则将通过AdjustViewBounds保持ImageView的长宽比。ImageView(不是图像)的大小将保持图像的长宽比。

答案 3 :(得分:0)

删除 android:adjustViewBounds ,然后尝试