Запретить обрезку пользовательского фона в Imageview

Я превратил изображение в круглую форму, определив для него свой собственный фон.

circle.xml:

<shape xmlns:android = "http://schemas.android.com/apk/res/android"
    android:innerRadius = "0dp"
    android:shape = "ring"
    android:thicknessRatio = "1.9"
    android:useLevel = "false"
    >
    <solid android:color = "@android:color/transparent" />

    <stroke
        android:width = "10dp"
        android:color = "@android:color/white" />
</shape>

shadow_rect.xml:

<?xml version = "1.0" encoding = "utf-8"?>
<layer-list xmlns:android = "http://schemas.android.com/apk/res/android" >

    <item android:drawable = "@drawable/circle"/>

</layer-list>

mainActivity.xml:

<ImageView
    android:id = "@+id/imageView4"
    android:layout_width = "157dp"
    android:layout_height = "150dp"
    android:background = "@drawable/profile_image"
    android:cropToPadding = "false"
    app:layout_constraintBottom_toBottomOf = "@+id/banner_iamge"
    app:layout_constraintEnd_toEndOf = "@+id/banner_iamge"
    app:layout_constraintHorizontal_bias = "0.501"
    app:layout_constraintStart_toStartOf = "@+id/banner_iamge"
    app:layout_constraintTop_toBottomOf = "@+id/banner_iamge"
    app:layout_constraintVertical_bias = "0.476"
    app:srcCompat = "@drawable/layer_4" />

Но круг для просмотра изображений выглядит так:

Как видите, круглое белое кольцо вокруг изображения профиля обрезается. Я хочу, чтобы белое кольцо отображалось вокруг изображения без обрезки

Запретить обрезку пользовательского фона в Imageview

Как я могу это решить?

что ты хочешь делать?

Abhinav Gupta 27.10.2018 09:51

@AbhinavGupta, как вы можете видеть, обрезается круглое белое кольцо вокруг изображения. Я хочу, чтобы белое кольцо отображалось вокруг изображения без обрезки

Sapnesh Naik 27.10.2018 09:56

вы можете опубликовать полный код отображения Imagview?

mehul chauhan 27.10.2018 10:02

использовать отступы при просмотре изображения android: padding = "6dp"

Abhinav Gupta 27.10.2018 10:03

@mehul вот так, я добавил

Sapnesh Naik 27.10.2018 10:05
0
5
104
2
Перейти к ответу Данный вопрос помечен как решенный

Ответы 2

Фон - это заливка контейнера представления, он не сжимает содержимое. Поэтому я предлагаю вам создать индивидуальное представление того, чего вы хотите достичь.

На GitHub есть несколько отличных проектов. Один из моих любимых - https://github.com/hdodenhof/CircleImageView

Ответ принят как подходящий

используйте эту библиотеку

dependencies {
implementation 'de.hdodenhof:circleimageview:2.2.0'
}

XMl заменяет Imagview на это

<de.hdodenhof.circleimageview.CircleImageView
xmlns:app = "http://schemas.android.com/apk/res-auto"
android:id = "@+id/profile_image"
android:layout_width = "96dp"
android:layout_height = "96dp"
android:src = "@drawable/profile"
app:civ_border_width = "2dp"
app:civ_border_color = "#FF000000"/>

Другие вопросы по теме