CardView на Android 5.1 - зачем показывать ромб вместо круга? - PullRequest
0 голосов
/ 25 октября 2018

У меня есть CardView с ImageView:

<android.support.v7.widget.CardView
        android:id="@+id/message_avatar_card"
        android:layout_width="40dp"
        android:layout_height="40dp"
        android:layout_marginEnd="4dp"
        android:layout_marginStart="4dp"
        app:cardCornerRadius="40dp"
        android:innerRadius="0dp"
        android:thicknessRatio="1.9"
        android:background="@color/fui_transparent">

        <ImageView
            android:id="@+id/message_avatar"
            android:layout_width="40dp"
            android:layout_height="40dp"
            android:src="@drawable/ic_person_black_24dp"
            android:layout_marginEnd="4dp"
            android:scaleType="centerCrop"
            android:background="@color/fui_transparent"/>
    </android.support.v7.widget.CardView>

На Android 9.0 все в порядке, см. Скриншот

android 9

Нона Android 5.1 вижу ромб, а не кружок

android 5.1

Как это исправить?

Ответы [ 2 ]

0 голосов
/ 25 октября 2018

Использование CircleImageView библиотека:

implementation 'de.hdodenhof:circleimageview:2.2.0'

в XML:

<de.hdodenhof.circleimageview.CircleImageView
        xmlns:app="http://schemas.android.com/apk/res-auto"
        android:id="@+id/message_avatar"
        android:layout_width="75dp"
        android:layout_height="75dp"
        android:src="@drawable/avatar"
        app:civ_border_width="2dp"
        android:layout_gravity="center"
        app:civ_border_color="YOUR_COLOR"/> // if you don't want give any border remove this line

В Java:

CircleImageView message_avatar = (CircleImageView) findViewById(R.id.message_avatar);

, если выустанавливаются изображения динамически с использованием Picasso библиотеки:

implementation 'com.squareup.picasso:picasso:2.5.2'

в Java

Picasso.with(context).load(IMAGE_PATH).into(message_avatar);
0 голосов
/ 25 октября 2018

Правильный код

<android.support.v7.widget.CardView
        android:id="@+id/message_avatar_card"
        android:layout_width="40dp"
        android:layout_height="40dp"
        android:layout_marginEnd="4dp"
        android:layout_marginStart="4dp"
        app:cardCornerRadius="20dp"
        android:innerRadius="0dp"
        android:thicknessRatio="1.9"
        android:background="@color/fui_transparent">

        <ImageView
            android:id="@+id/message_avatar"
            android:layout_width="40dp"
            android:layout_height="40dp"
            android:src="@drawable/ic_person_black_24dp"
            android:layout_marginEnd="4dp"
            android:scaleType="centerCrop"
            android:background="@color/fui_transparent"/>
    </android.support.v7.widget.CardView>
...