【android中级】之android 背景圆角和图片圆角

android背景圆角的实现
1.建立一个xml文件,命名为circle_corner,放置到drawable目录下,内容如下:

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

                  android:startColor="#000000"

                  android:gradientRadius="60"  

                   android:type="radial"/>
        <corners
android:radius="10px"/>
</shape>

            圆角效果二

<?xml version="1.0" encoding="UTF-8"?>

<shape xmlns:android="http://schemas.android.com/apk/res/android">

<solid android:color="#99FFFFFF"/>

<corners android:radius="30px"/>

<padding android:left="0dp" android:top="0dp" android:right="0dp" android:bottom="0dp" />

</shape>

2.在需要圆角背景的元件上设置背景为circle_corner

<TextView
android:text="abc"

                android:background="@drawable/circle_corner"

                android:layout_width="wrap_content"

                android:layout_height="wrap_content"
>

  1. 图片本身加上圆角

Bitmap myCoolBitmap = ... ; // <-- Your bitmap you want rounded

int w = myCoolBitmap.getWidth(), h = myCoolBitmap.getHeight();

Bitmap rounder = Bitmap.createBitmap(w,h,Bitmap.Config.ARGB_8888);

Canvas canvas = new Canvas(rounder);  

Paint xferPaint = new Paint(Paint.ANTI_ALIAS_FLAG);

xferPaint.setColor(Color.RED);

canvas.drawRoundRect(new RectF(0,0,w,h), 20.0f, 20.0f, xferPaint);

xferPaint.setXfermode(new PorterDuffXfermode(PorterDuff.Mode.DST_IN));

canvas.drawBitmap(myCoolBitmap, 0,0, null);

canvas.drawBitmap(rounder, 0, 0, xferPaint);

或者

public static Bitmap getRoundedCornerBitmap(Bitmap bitmap) {

  Bitmap output = Bitmap.createBitmap(bitmap.getWidth(),

     bitmap.getHeight(), Config.ARGB_8888);

    Canvas canvas = new Canvas(output);

    final int color = 0xff424242;

    final Paint paint = new Paint();

    final Rect rect = new Rect(0, 0, bitmap.getWidth(), bitmap.getHeight());

    final RectF rectF = new RectF(rect);

    final float roundPx = 12;

    paint.setAntiAlias(true);

    canvas.drawARGB(0, 0, 0, 0);

    paint.setColor(color);

    canvas.drawRoundRect(rectF, roundPx, roundPx, paint);

   paint.setXfermode(new PorterDuffXfermode(Mode.SRC_IN));

    canvas.drawBitmap(bitmap, rect, rect, paint);

    return output;

}

时间: 2024-10-22 03:19:01

【android中级】之android 背景圆角和图片圆角的相关文章

Android给按钮设置背景的同时设置圆角例子

之前在做按钮的时候遇到在给按钮设置一张图片作为背景的同时还要自己定义圆角,最简单的做法就是直接切张圆角图作为按钮就可以了,但是如果不这样该怎么办呢,看代码: 先建一个圆角的shape文件: <?xml version="1.0" encoding="utf-8"?> <shape xmlns:android="http://schemas.android.com/apk/res/android">     <corn

【android中级】Android 系统应用调用,intent的使用总结

相当一部分来自文档,希望能有朋友继续完善此贴,以作搜藏. 显示网页:   1. Uri uri = Uri.parse("http://www.google.com");   2. Intent it = new Intent(Intent.ACTION_VIEW,uri);   3. startActivity(it); 显示地图:   1. Uri uri = Uri.parse("geo:38.899533,-77.036476");   2. Intent

[Android] 给图像添加相框、圆形圆角显示图片、图像合成知识

    前一篇文章讲述了Android触屏setOnTouchListener实现突破缩放.移动.绘制和添加水印,继续我的"随手拍"项目完成给图片添加相框.圆形圆角显示图片和图像合成的功能介绍.希望文章对大家有所帮助. 一. 打开图片和显示assets文件中图片     首先,对XML中activity_main.xml进行布局,通过使用RelativeLayout相对布局完成(XML代码后面附).然后,在Mainctivity.java中public class MainActivi

Android给图像添加相框、圆形圆角显示图片、图像合成知识

前一篇文章讲述了Android触屏setOnTouchListener实现突破缩放.移动.绘制和添加水印,继续我的"随手拍"项目完成给图片添加相框.圆形圆角显示图片和图像合成的功能介绍.希望文章对大家有所帮助. 一. 打开图片和显示assets文件中图片     首先,对XML中activity_main.xml进行布局,通过使用RelativeLayout相对布局完成(XML代码后面附).然后,在Mainctivity.java中public class MainActivity e

Android app引导页(背景图片切换加各个页面动画效果)

先看效果图: 转自:http://blog.csdn.net/lowprofile_coding/article/details/48037095 1.显示三个页面的Activity  用view pager去加载三个fragment实现,控制点点点的切换,监听view pager的切换,控制fragment动画的开始跟结束,重写了view pager,实现了背景图片的移动效果. /** * 主Activity * @author ansen * @create time 2015-08-07

Android使用XML的方式为背景添加渐变,描边,圆角的效果

使用XML的方式为背景添加渐变的效果首先,在res/Drawable 文件夹里面添加一个jbshape.xml文件,然后写入如下代码: shape 节点配置的是图形的形式,主要包括方形.圆形等,上边代码为方形, gradient 节点主要配置起点颜色.终点颜色及中间点的颜色.坐标.渐变效果(0,90,180从左到右渐变,270从上到下渐变)默认从左到右padding 节点主要配置上下左右的间距 corners 节点配置四周园脚的半径 实现这个效果,需要定一个title.xml 内容如下: <?x

图片-Android个人中心头像背景模糊化 谁有成熟的方案 如图效果所示

问题描述 Android个人中心头像背景模糊化 谁有成熟的方案 如图效果所示 求Android大神指导 解决方案 android 图片的模糊化处理,效果类似超级课程表的"我的中心"里头像背景,看起来很炫 解决方案二: 你说的是高斯模糊,毛玻璃效果.http://www.cnblogs.com/gfqFighting/archive/2013/07/01/3165171.html 解决方案三: 背景图做一个高斯滤波即可! 解决方案四: 百度搜索 毛玻璃 效果 解决方案五: 大神,跪求一份

Android开发实现图片圆角的方法_Android

本文讲述了Android开发实现图片圆角的方法.分享给大家供大家参考,具体如下: Bitmap myCoolBitmap = ... ; // <-- Your bitmap you want rounded int w = myCoolBitmap.getWidth(), h = myCoolBitmap.getHeight(); Bitmap rounder = Bitmap.createBitmap(w,h,Bitmap.Config.ARGB_8888); Canvas canvas =

Android开发之实现手指直接拖动图片移动

一.基础知识:  要实现这一效果,需要一个容器来存放Gallrey显示的图片,这里使用一个继承自BaseAdapter类的派生类来装这些图片. 我们需要监听其事件setOnItemClickListener,从而确定用户当前选中的是哪一张图片. 首先,需要将所有要显示的图片的索引存放在一个int型数组中,然后通过setImageResource方法来设置ImageView要显示的图片资源,最后将 每张图片的ImageView显示在屏幕上.   二.代码展示: 1."main.xml"