2016-08-11 2 views
1

Я новичок в андроиде, и я хочу создать круговое изображение с рамкой и тенью. Я искал в Интернете, и у меня есть несколько кодов, но некоторые из них - это код компоновки xml и другие в java. Так что, пожалуйста, скажите мне, какой из них лучше использовать? Спасибо!, который является лучшим способом создания кругового изображения с рамкой и тенью в андроиде? (через xml или java-код)?

+0

Определить "лучше". –

+0

Сделайте это с помощью XML. Рекомендуется для android. – Abhishek

+1

вы можете попробовать это [rep] (https://github.com/hdodenhof/CircleImageView), и оба кода и xml в порядке, между ними нет лучшего. –

ответ

2

В вашем build.gradle Файл:

dependencies { 
    ... 
    compile 'de.hdodenhof:circleimageview:2.1.0' 
} 

В XML:

<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"/> 

Ограничения:

  1. ScaleType всегда CENTER_CR OP, и вы получите исключение, если попытаетесь его изменить. Это (в настоящее время) по дизайну, так как отлично подходит для изображений профиля.
  2. Включение функции adjustViewBounds не поддерживается, так как для этого требуется неподдерживаемый ScaleType
  3. Если вы используете библиотеку для загрузки изображений, такую ​​как Picasso или Glide, вам необходимо отключить их анимацию затухания, чтобы избежать перепутанных изображений. Для Picasso используйте параметр noFade(), для использования Glide dontAnimate(). Если вы хотите сохранить анимацию fadeIn, вам нужно получить изображение в Target и самостоятельно применить собственную анимацию при получении растрового изображения.
  4. Использование TransitionDrawable с CircleImageView не работает должным образом и приводит к испорченным изображениям.

hdodenhof/CircleImageView

Смежные вопросы