CircularImageview

Additional

Language
Java
Version
v1.1.0 (Jul 12, 2017)
Created
Jul 12, 2017
Updated
Sep 5, 2017
Owner
Jack and phantom (sparrow007)
Contributor
Jack and phantom (sparrow007)
1
Activity
Badge
Generate
Download
Source code
APK file

Announcement

CircularImageview

This project allowing you to create circular and rounded corner imageview in android through simplest way.

In circular imageview It uses a BitmapShader and does not:

  • create a copy of the original bitmap
  • use a clipPath (which is neither hardware accelerated nor anti-aliased)
  • use setXfermode to clip the bitmap (which means drawing twice to the canvas)

USAGE

To make a circular ImageView add CircularImageView in your layout XML and add CircularImageView library in your project or you can also grab it through Gradle:

Gradle

dependencies {
    ...
    compile 'com.jackandphantom.android:circularimageview:1.2.0'
}

XML

<!-- <a> circular imageview xml</a> -->
 <com.jackandphantom.circularimageview.CircleImage
        android:layout_width="270dp"
        android:layout_height="270dp"
        android:src="@drawable/circularImage"
        app:border_width="3dp"
        app:border_color="#ed2e2e"
        app:add_shadow="true"
        app:shadow_color="#a10909"
        app:shadow_radius="20"
        android:id="@+id/circleImage" />
        
<!-- <a> Rounded corner imageview xml </a> -->
 <com.jackandphantom.circularimageview.RoundedImage
        android:layout_width="320dp"
        android:layout_height="220dp"
        app:rounded_radius="50"
        android:src="@drawable/rounded_Image"
        android:id="@+id/roundedImage3" />

You may use the following properties in your XML to change your CircularImageView.

#####Properties:

To add shadow in your circular imageview you have to add property add_shadow= "true"

/* circular imageview xml */

  • app.border_width (Dimension) -> default 0dp
  • app.border_color (Color) -> default White
  • app.add_shadow (boolean) -> default false
  • app.shadow_color (Color) -> default Black
  • app.shadow_radius (float) -> default 10
  • app.shadow_radius (float) -> default 10

/* Rounded corner imageview xml */

  • app.rounded_radius (float) -> default 20

JAVA

 CircleImage circleImage = (CircleImage) findViewById(R.id.circleImage);
        circleImage.setBorderColor(Color.BLACK);
        circleImage.setBorderWidth(5);
        circleImage.setAddShadow(true);
        circleImage.setShadowRadius(20);
        circleImage.setShadowColor(Color.parseColor("#a10909"));
     
  RoundedImage roundedImage = (RoundedImage) findViewById(R.id.roundedImage);
        roundedImage.setRoundedRadius(50);

New Functionality

  • Now you can load high resolution images without getting outOfmemory exception, all you need to do is call mehtod * loadHighResolutionImage and pass the path of image as arguments
 CircleImage circleImage = (CircleImage) findViewById(R.id.circleImage);
             circleImage.loadHighResolutionImage(String filePath);

This method can be load image upto 2MB, 5MB, 10MB, i did'nt know the limitation that how much it can load.

This is my first library use it :) !!

Changelog

  • 1.2.0

    • Now you can load high resolution images without getting outOfmemory exception (minsdkVersion = 13)
  • 1.1.0

    • Add shadow effect (minsdkVersion = 19)
  • 1.0.0

    • initial release (minsdkVersion = 19)

SAMPLE APP LINK

( https://www.dropbox.com/s/ifd07uaj2z4c9bi/sample.apk?dl=0)

LICENCE

Copyright 2017 Ankit kumar

Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at

    http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.

Thanks to stackoverflow and Henning Dodenhof