Android笔记(4)TextView/Button/ImageView的圆角矩形/圆形控件
2017-07-10 10:53
661 查看
TextView/Button/ImageView(圆角矩形)
1.在drawable中创建shape_round文件<?xml version="1.0" encoding="utf-8"?> <shape xmlns:android="http://schemas.android.com/apk/res/android"> <!-- 设置透明背景色 --> <solid android:color="#ffffffff" /> <!-- 设置一个蓝边框 --> <stroke android:width="1dp" android:color="#ff1296db" /> <corners android:topLeftRadius="2dp" android:topRightRadius="2dp" android:bottomRightRadius="2dp" android:bottomLeftRadius="2dp"/> <!-- 设置四个圆角的半径 --> <corners android:bottomLeftRadius="20px" android:bottomRightRadius="20px" android:topLeftRadius="20px" android:topRightRadius="20px" /> <!-- 设置一下边距,让空间大一点 --> <padding android:bottom="10dp" android:left="10dp" android:right="10dp" android:top="10dp" /> </shape>
2.
(1)Textview
<TextView android:id="@+id/textview" android:layout_width="wrap_content" android:layout_height="wrap_content" android:background="@drawable/shape_round_press_false"/>
(2)Button
<Button android:id="@+id/button" android:layout_width="wrap_content" android:layout_height="wrap_content" android:background="@drawable/shape_round_press_false"/>
ImageView(圆形)
(1)非网络图片Activity中直接使用
//aim1为图片,可自行更换 public class Activity extends AppCompatActivity { private ImageView imageView1; protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); Bitmap bitmap1 = BitmapFactory.decodeResource(getResources(), R.drawable.aim1); RoundedBitmapDrawable circleDrawable1 = RoundedBitmapDrawableFactory.create(getResources(),bitmap1); circleDrawable1.getPaint().setAntiAlias(true); circleDrawable1.setCornerRadius(Math.max(bitmap1.getWidth(), bitmap1.getHeight())); imageView1=(ImageView)findViewById(R.id.imageview); imageView1.setImageDrawable(circleDrawable1); } }
(2)网络图片
1.新建CircleTransform.java
import android.graphics.Bitmap; import android.graphics.BitmapShader; import android.graphics.Canvas; import android.graphics.Paint; public class CircleTransform implements Transformation { public Bitmap transform(Bitmap source) { int size = Math.min(source.getWidth(), source.getHeight()); int x = (source.getWidth() - size) / 2; int y = (source.getHeight() - size) / 2; Bitmap squaredBitmap = Bitmap.createBitmap(source, x, y, size, size); if (squaredBitmap != source) { source.recycle();//回收垃圾 } Bitmap bitmap = Bitmap.createBitmap(size, size, source.getConfig()); Canvas canvas = new Canvas(bitmap); Paint paint = new Paint(); BitmapShader shader = new BitmapShader(squaredBitmap, BitmapShader.TileMode.CLAMP, BitmapShader.TileMode.CLAMP);//定义一个渲染器 paint.setShader(shader);//设置渲染器 paint.setAntiAlias(true);//设置抗拒齿,图片边缘相对清楚 float r = size / 2f; canvas.drawCircle(r, r, r, paint);//绘制图形 squaredBitmap.recycle(); return bitmap; } public String key() { return "circle"; } }
2.Activity中
Picasso.with(context).load("网址").transform(new CircleTransform()).into(imageView);
相关文章推荐
- android开源项目---RoundedImageView制作圆角矩形,椭圆形以其圆形控件
- Android - 控件(View)之TextView, Button, ImageButton, ImageView, CheckBox
- Android自定义ImageView实现图片圆形 ,椭圆和矩形圆角显示
- Android实现圆角矩形和圆形ImageView的方式
- 安卓学习笔记---自定义ImageView实现图片圆形 ,椭圆和矩形圆角显示(矩形圆角加边框)
- 系出名门Android(5) - 控件(View)之TextView, Button, ImageButton, ImageView, CheckBox
- Android学习(一)TextView,ImageView,Button,EditText,控件
- Android 自定义ImageView实现圆角/圆形 附加OnTouchListener详细注释以及Button圆角
- Android 自定义ImageView实现圆角/圆形 附加OnTouchListener详细注释以及Button圆角
- 系出名门Android(5) – 控件(View)之TextView, Button, ImageButton, ImageView, CheckBox
- Android自定义ImageView实现图片圆形 ,椭圆和矩形圆角显示
- android笔记 自定义textview,button等控件的外观,点击效果
- Android 第五课 常用控件的使用方法(TextView、Button、EditView、 ImageView、 ProgressBar、 ProgressDialog等)
- Android控件(View)之TextView, Button, ImageButton, ImageView, CheckBox 简单介绍
- Android 动态的给Button、TextView、ImageView等控件设置了background后,再设置padding属性时该属性不起作用
- Android圆形ImageView和圆角矩形ImageView
- Android自定义ImageView实现图片圆形 ,椭圆和矩形圆角显示
- Android控件——TextView、EditText、ImageView、Button、ImageButton
- Android - VGA,ADB,DDMS,安卓开发环境目录结构,安卓目录结构,常见布局,点击事件的几种写法,控件(Button/TextView/ImageView/EditText)
- Android自定义ImageView实现图片缩放滑动,双击放大缩小,多点触控旋转,圆角矩形,圆形和仿刮刮卡效果