ImageView ScaleType не работает - почему? - PullRequest
0 голосов
/ 09 мая 2019

Я работаю над дизайном.И есть LinearLayout для использования весов.Внутри этих макетов есть ImageViews.ImageViews показывают картинки с курса, но каждое изображение имеет разное соотношение сторон.Затем я хочу использовать свойство ImageView scaleType для покрытия изображения на всей поверхности ImageView.Но ничего не изменилось.В 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 голосов
/ 09 мая 2019

удалить android: настроитьViewBounds , затем попробовать

0 голосов
/ 09 мая 2019

использовать свойство для масштаба изображения

android:scaleType="fitXY"
0 голосов
/ 09 мая 2019

На самом деле ScaleType=fitXY и ScaleType=center совершенно разные.

fitXY будет иметь нашу фиксированную высоту, а затем будет масштабировать наше изображение по всей ширине. Вы сохраняете соотношение сторон изображения, сохраняя при этом высоту до определенного размера, но позволяя ширине соответствующим образом измениться, поэтому мы по-прежнему можем контролировать размер изображения (вид) и одновременно поддерживать соотношение сторон .

center просто центрирует изображение, не масштабируя его. Если вы добавите adjustViewBounds=true в него, вы сохраните соотношение сторон ImageView с помощью AdjustViewBounds, а размер ImageView (не изображения) сохраняет соотношение сторон изображения.

0 голосов
/ 09 мая 2019

использование

android:scaleType="centerCrop"

и пройдите ниже URL http://developer.android.com/reference/android/widget/ImageView.html#attr_android:scaleType если вам нужны дальнейшие разъяснения.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...