Soru android.support.v4.widget.CircleImageView çalışmıyor


kullanmaya çalıştığımda: android.support.v4.widget.CircleImageView

        <android.support.v4.widget.CircleImageView
                android:id="@+id/picture"
                android:layout_width="100dp"
                android:layout_height="100dp"
                android:layout_gravity="center_vertical"
                android:src="@drawable/ic_bg" />

uygulama çöküyor

Yeni Malzeme Tasarımı Widget CircleImageView nasıl desteklenir

Bu yeni widget'ı kullanmak için herhangi bir örnek var mı

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

44
2018-05-20 10:22


Menşei


logcat'inizi yayınlayın .. - Pavya
bu benim logcat arkadaşım - Maher Ismaail
Bu yeni widget'ı kullanmak için herhangi bir örnek var mı - Maher Ismaail
Muhtemelen kullanılmaması gerekiyor: code.google.com/p/android/issues/detail?id=85049 - android developer


Cevaplar:


CircleImageView destek kitaplığının özel bir sınıfıdır ve kullanılamaz. Ama bu etkiyi kendiniz olmadan kendiniz yaratmak kolaydır CircleImageView. Sadece tanımlamanız gereken bir <shape /> Buna benzer ortada şeffaf bir daire ile çizilebilir:

<shape
    android:innerRadius="0dp"
    android:shape="ring"
    android:thicknessRatio="1"
    android:useLevel="false" >

    <solid android:color="@android:color/transparent" />

    <stroke
        android:width="100dp"
        android:color="#FFFFFFFF" />
</shape>

Bundan sonra, görüntülemek istediğiniz resmi birleştirin ImageView ile <shape /> yukarıdan çizilebilir bir LayerList bunun gibi:

<layer-list xmlns:android="http://schemas.android.com/apk/res/android">
    <item android:drawable="@drawable/your_image" />
    <item android:drawable="@drawable/circle" />
</layer-list>

Görüntülemek istediğiniz görüntü dinamik ise o zaman LayerList programlı!


51
2018-05-20 10:32



@MaherIsmaail Başka birinin cevabını böyle düzenleyemezsin. Düzenlemeyi şimdilik geri aldım. - Xaver Kapeller
Sadece iş yapamazsınız :( - Tima


Android.support.v4.widget.CircleImageView için bir yedek buldum.

<de.hdodenhof.circleimageview.CircleImageView
xmlns:app="http://schemas.android.com/apk/res-auto"
android:id="@+id/meal_image_order"
android:layout_width="96dp"
android:layout_height="96dp"
android:src="@drawable/menu1"
app:civ_border_width="2dp"
app:civ_border_color="@color/white"
android:layout_alignParentTop="true"
android:layout_alignParentLeft="true" />

Kütüphane bağlantısı: https://github.com/hdodenhof/CircleImageView 


41
2017-08-12 14:23



github.com/hdodenhof/CircleImageView kütüphane için - Sumighosh Charuvil
Bu linkte sadece kaynak kodu indirmek için kütüphaneyi görmedim. Bu özel görünümü bir uygulamaya nasıl ekleyeceğiniz hakkında daha fazla bilgi verebilir misiniz? - Zvi
@Zvi gradle kullanmalısınız. burada belirtilmiştir github.com/hdodenhof/CircleImageView#gradle - Abhishek
@Abhishek Bunu biliyorum ve 'derlemem' de.hdodenhof'a ekledim: circleimageview: 2.0.0 ''. Ama circleimageview için bir dosyaya (belki bir kavanoz ya da bir libraray) ihtiyaç duyar. Öyle değil mi? - Zvi
değiştirmek app:border_width="2dp" app:border_color="@color/white" tarafından app:civ_border_width="2dp" app:civ_border_color="@color/white" çalışmak - Chaman Saini


CircleImageView özel bir sınıftır v4Yani temelde onu kullanamazsın. İlerleme çemberini bir iç kısımda görüntülemek için dahili olarak kullanılır. SwipeRefreshLayoutama kendiniz tarafından şişirilmiş değildir.

Görmek İşte referans için.


18
2018-05-20 10:42



ama google onu customView olarak ekledi, neden kullanamazsam - Maher Ismaail
SwipeRefreshLayout'ta dahili olarak kullanılır. Daire anahatlı bir görüntüye ihtiyacınız varsa, burada SO üzerinde çok fazla soru var. - natario


Yerel bir tarzda yapmak istiyorsanız, bu snippet'i kullanın.

            <android.support.v7.widget.CardView
                android:id="@+id/view2"
                android:layout_width="45dp"
                android:layout_height="45dp"
                android:background="#ffffff"
                android:shape="ring"
                app:cardCornerRadius="23dp">

                <ImageView
                    android:id="@+id/profile_img_post"
                    android:layout_width="match_parent"
                    android:layout_height="match_parent"
                    android:layout_alignParentTop="true"
                    android:layout_centerHorizontal="true"
                    android:scaleType="centerCrop"
                    android:src="@drawable/test_img"></ImageView>
            </android.support.v7.widget.CardView>

5
2017-11-27 03:01



Cevabınız iyi bir hack. Fakat android:shape="ring" Burada hiçbir şey yapmıyor. Sadece koy app:cardCornerRadius="1000dp" (koydu) hile yaptı. Yüksek katılımı hak ettin. - nyconing


Bu benim için çalıştı

xml düzeni:

  <de.hdodenhof.circleimageview.CircleImageView
            android:id="@+id/picid"
            android:layout_width="270dp"
            android:layout_height="270dp"
            android:src="@drawable/avatar_small"
            android:layout_marginTop="25dp"
            />

Java kodu:

CircleImageView pic = (de.hdodenhof.circleimageview.CircleImageView)rootView.findViewById(R.id.picid);

2
2018-05-29 14:07



Üçüncü parti kütüphane örneği ... hakkında android.support.v4.widget.CircleImageView - Avinash Kumar


1. Use this dependency:  compile 'de.hdodenhof:circleimageview:2.0.0'
2. Use this code: -
    <de.hdodenhof.circleimageview.CircleImageView
                   android:id="@+id/iv_circle"
                   android:layout_width="96dp"
                   android:layout_height="96dp"
                   android:layout_alignParentLeft="true"
                   android:layout_alignParentTop="true"
                   android:src="@drawable/thumb"
                   app:border_color="@color/white"
                   app:border_width="2dp" />

0
2018-04-24 08:02