美文网首页
CircleImageView

CircleImageView

作者: fredliao | 来源:发表于2018-05-17 09:15 被阅读0次

    So I need to make the CirleImageView to be more like a button. And I want this view to show some custom or maybe online image. So FloatActionButton won't be a solution.

    I referenced to this issue and come up with a solution:

    So to have a elevation, we must have a background, this is my background

    <?xml version="1.0" encoding="utf-8"?>
    <shape
        xmlns:android="http://schemas.android.com/apk/res/android"
        android:shape="oval">
        <solid android:color="@color/white"/>
    </shape>
    

    The background color can't be @android:color/transparent, it will make elevation disappear.
    Then set this background to CircleImageView. and set an elevation. But I soon find out that the elevation is partially cut off like this

    wrong_cllip

    I think that's because the shadow reached the boarder of view
    So I added a Layout to wrap around CircleImageView and make it slightly larger than CircleImageView.
    So the code looks like this

     <FrameLayout
        android:layout_width="@dimen/logo_wrapper_size"
        android:layout_height="@dimen/logo_wrapper_size"
        android:layout_marginEnd="@dimen/large_margin"
        app:layout_constraintEnd_toEndOf="parent">
    
        <de.hdodenhof.circleimageview.CircleImageView
          android:id="@+id/logo"
          android:layout_width="@dimen/logo_size"
          android:layout_height="@dimen/logo_size"
          android:layout_gravity="center"
          android:background="@drawable/circle_background"
          android:elevation="@dimen/standard_margin"
          android:foreground="@drawable/round_selector"
          android:onClick='@{() -> clickListener.onItemActionClick(itemViewModel, "")}'
          android:src="@drawable/placeholder_bitmap" />
    </FrameLayout>
    
    <dimen name="logo_wrapper_size">78dp</dimen>
    <dimen name="logo_size">54dp</dimen>
    

    And this makes CircleImageView have a nice shadow like a FAB. It's even better when I added a ripple animation using this workaround

    device-2018-05-17-111412

    相关文章

      网友评论

          本文标题:CircleImageView

          本文链接:https://www.haomeiwen.com/subject/cswvdftx.html