android.support.v4.widget.CircleImageView does not work

前端 未结 8 1446
独厮守ぢ
独厮守ぢ 2021-01-30 04:11

when I try to use : android.support.v4.widget.CircleImageView

        

        
相关标签:
8条回答
  • 2021-01-30 04:25

    Simple add: Here Change latest Library version 2.0.0 to 2.2.0

    dependencies {
    
     implementation 'de.hdodenhof:circleimageview:2.2.0'
    
    }
    
    0 讨论(0)
  • 2021-01-30 04:26

    I found a replacement for android.support.v4.widget.CircleImageView.

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

    Library link: https://github.com/hdodenhof/CircleImageView

    0 讨论(0)
  • 2021-01-30 04:27

    CircleImageView is a private class from v4, so basically you can't use it. It is used internally for rendering the progress circle in a SwipeRefreshLayout, but is not meant to be inflated by yourself.

    See here for reference.

    0 讨论(0)
  • 2021-01-30 04:31

    Just Rebuild the project

    • Build ===> Clear Project
    • Build ===> Rebuild Project

    and if not works
    File ===> Invaildate Cahses / Restart



    Then it will Work.
    0 讨论(0)
  • 2021-01-30 04:32

    The CircleImageView is a private class of the support library and cannot be used. But it is easy to create this effect yourself without the CircleImageView. You just need to define a <shape /> drawable with a transparent circle in the middle similar to this:

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

    After that just combine the image you want to display in the ImageView with the <shape /> drawable from above in a LayerList like this:

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

    If the image you want to display is dynamic then you can create the LayerList programmatically!

    0 讨论(0)
  • 2021-01-30 04:45

    This is what worked for me

    xml layout:

      <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 code:

    CircleImageView pic = (de.hdodenhof.circleimageview.CircleImageView)rootView.findViewById(R.id.picid);
    
    0 讨论(0)
提交回复
热议问题