quand j’essaye d’utiliser: android.support.v4.widget.CircleImageView
il fait planter mon application
Comment prendre en charge le nouveau widget de conception de matériaux CircleImageView
existe-t-il un exemple d’utilisation de ce nouveau widget
Logcat
java.lang.RuntimeException: Unable to start activity ComponentInfo{com.vogella.android.recyclerview/com.vogella.android.recyclerview.MainActivity}: android.view.InflateException: Binary XML file line #9: Error inflating class android.support.v4.widget.CircleImageView at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2255) at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2309) at android.app.ActivityThread.access$700(ActivityThread.java:157) at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1289) at android.os.Handler.dispatchMessage(Handler.java:99) at android.os.Looper.loop(Looper.java:176) at android.app.ActivityThread.main(ActivityThread.java:5317) at java.lang.reflect.Method.invokeNative(Native Method) at java.lang.reflect.Method.invoke(Method.java:511) at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1102) at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:869) at dalvik.system.NativeStart.main(Native Method) Caused by: android.view.InflateException: Binary XML file line #9: Error inflating class android.support.v4.widget.CircleImageView at
CircleImageView
est une classe privée de la bibliothèque de support et ne peut pas être utilisée. Mais il est facile de créer vous-même cet effet sans CircleImageView
. Il suffit de définir un dessin
avec un cercle transparent au milieu similaire à ceci:
Ensuite, il suffit de combiner l’image que vous souhaitez afficher dans ImageView
avec le dessin
ci-dessus dans une LayerList
comme ceci:
Si l’image que vous souhaitez afficher est dynamic, vous pouvez créer le LayerList
programmation!
J’ai trouvé un remplacement pour android.support.v4.widget.CircleImageView.
Lien vers la bibliothèque: https://github.com/hdodenhof/CircleImageView
CircleImageView
est une classe privée de v4
, vous ne pouvez donc pas l’utiliser. Il est utilisé en interne pour rendre le cercle de progression dans un SwipeRefreshLayout
, mais il ne doit pas être gonflé par vous-même.
Voir ici pour référence.
Si vous voulez le faire dans un style natif, utilisez simplement cet extrait
C’est ce qui a fonctionné pour moi
disposition XML:
Code Java:
CircleImageView pic = (de.hdodenhof.circleimageview.CircleImageView)rootView.findViewById(R.id.picid);
1. Use this dependency: comstack 'de.hdodenhof:circleimageview:2.0.0' 2. Use this code: -