Android RoundedBitmapDrawable:Android官方的圆角图形图象实现方案



Android RoundedBitmapDrawable:Android官方的圆角图形图象实现方案


RoundedBitmapDrawable是Android在support v4的扩展包中新增的实现圆角图形的关键类,借助RoundedBitmapDrawable的帮助,可以轻松的以Android标准方式实现圆角图形图象。
写一个简单的例子。
写一个线性布局,竖直方向放三个ImageView:




    

    

    




然后通过Java代码分别放原始图,圆角图,圆形图作为对比:

package zhangphil.app;

import android.graphics.Bitmap;
import android.graphics.BitmapFactory;
import android.support.v4.graphics.drawable.RoundedBitmapDrawable;
import android.support.v4.graphics.drawable.RoundedBitmapDrawableFactory;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.widget.ImageView;

public class MainActivity extends AppCompatActivity {

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        //未做圆角处理的原始图
        ImageView image1 = (ImageView) findViewById(R.id.imageView1);
        image1.setImageResource(R.drawable.zhangphil);

        //圆角图
        RoundedBitmapDrawable roundedDrawable = RoundedBitmapDrawableFactory.create(getResources(), BitmapFactory.decodeResource(getResources(), R.drawable.zhangphil));
        roundedDrawable.getPaint().setAntiAlias(true);
        roundedDrawable.setCornerRadius(30);
        ImageView image2 = (ImageView) findViewById(R.id.imageView2);
        image2.setImageDrawable(roundedDrawable);

        //圆形图
        Bitmap bitmap = BitmapFactory.decodeResource(getResources(), R.drawable.zhangphil);
        RoundedBitmapDrawable circleDrawable = RoundedBitmapDrawableFactory.create(getResources(), BitmapFactory.decodeResource(getResources(), R.drawable.zhangphil));
        circleDrawable.getPaint().setAntiAlias(true);
        circleDrawable.setCornerRadius(Math.max(bitmap.getWidth(), bitmap.getHeight()));
        ImageView image3 = (ImageView) findViewById(R.id.imageView3);
        image3.setImageDrawable(circleDrawable);
    }
}


代码运行结果:

Android RoundedBitmapDrawable:Android官方的圆角图形图象实现方案_第1张图片



附录文章:
1,《Android圆形头像图Circle ImageView》链接地址:http://blog.csdn.net/zhangphil/article/details/44960551
2,《Android CustomShapeImageView对图片进行各种样式裁剪:圆形、星形、心形、花瓣形等》链接地址:http://blog.csdn.net/zhangphil/article/details/50119921

你可能感兴趣的:(Android,android)