Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Unable to get exact circle shape when using card view

I'm using card view for floating action button in android material design. I'm using following code for get the circle

<android.support.v7.widget.CardView     android:id="@+id/fab"     android:layout_width="38dp"     android:layout_height="38dp"     android:layout_marginBottom="10dp"     android:layout_marginRight="10dp"     card_view:background="@color/blue"     card_view:cardCornerRadius="19dp"     card_view:cardPreventCornerOverlap = "false"     card_view:cardElevation="6dp" > </android.support.v7.widget.CardView> 

I have set corner radius as half of width. but still I can't get the circle shape.enter image description here

like image 425
Ayyappan Avatar asked Mar 16 '15 10:03

Ayyappan


2 Answers

To achieve a circular shape using Card view you can set the shape property, android:shape="ring".
app:cardCornerRadius should be set to half the width or height of the child view

<android.support.v7.widget.CardView         android:layout_width="wrap_content"         android:layout_height="wrap_content"         android:layout_centerInParent="true"         android:innerRadius="0dp"         android:shape="ring"         app:cardCornerRadius="75dp">          <ImageView             android:layout_width="150dp"             android:layout_height="150dp"             android:layout_gravity="center"             android:background="@drawable/image" />      </android.support.v7.widget.CardView> 
like image 61
silent_control Avatar answered Oct 05 '22 23:10

silent_control


I have solved the problem. Now android providing design library for material design, which has the FloatingActionButton. No need of customizing card view for floating action button.

<android.support.design.widget.FloatingActionButton         android:id="@+id/fab"         android:layout_width="wrap_content"         android:layout_height="wrap_content"         android:layout_gravity="bottom|end"         android:layout_margin="@dimen/fab_margin"  /> 

Add design library in gradle dependencies

compile 'com.android.support:design:23.1.1' 

For more detail refer this link

like image 38
Ayyappan Avatar answered Oct 05 '22 23:10

Ayyappan