Loading [MathJax]/jax/output/CommonHTML/config.js
前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >Android 中的那些圆角

Android 中的那些圆角

作者头像
码客说
发布于 2019-10-22 08:57:45
发布于 2019-10-22 08:57:45
1.2K00
代码可运行
举报
文章被收录于专栏:码客码客
运行总次数:0
代码可运行

引用关键字

implement、api和compile区别

图片圆角

加载处理原图圆角

Glide和Picasso

Glide

使用扩展Glide Transformations

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
repositories {
    jcenter()
}

dependencies {
    implementation 'jp.wasabeef:glide-transformations:3.1.1'
    // If you want to use the GPU Filters
    implementation 'jp.co.cyberagent.android.gpuimage:gpuimage-library:1.4.1'
}

设置代码

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
Glide.with(this).load(url)
        .apply(bitmapTransform(new BlurTransformation(25)))
        .into((ImageView) findViewById(R.id.image));
Picasso

使用扩展picasso-transformations

引用

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
repositories {
    jcenter()
}

dependencies {
    compile 'jp.wasabeef:picasso-transformations:2.2.1'
    // If you want to use the GPU Filters
    compile 'jp.co.cyberagent.android.gpuimage:gpuimage-library:1.4.1'
}

使用

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
Picasso.with(mContext).load(R.drawable.demo)
    .transform(transformation)
    .transform(new CropCircleTransformation())
    .into(holder.image);

Fresco

第一步:引入支持

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
dependencies {
  implementation 'com.facebook.fresco:fresco:1.8.1'
}

第二步:使用SimpleDraweeView代替ImageView

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
                xmlns:app="http://schemas.android.com/apk/res-auto"
                android:layout_width="wrap_content"
                android:layout_height="match_parent">>

    <com.facebook.drawee.view.SimpleDraweeView
        android:id="@+id/iamgeView"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        app:roundedCornerRadius="2dp"/>

</RelativeLayout>

注意其中的:

app:roundedCornerRadius=”2dp”

这样你就得到了一个2dp圆角的ImageView。

初始化

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
public class MyApplication extends Application {
	@Override
	public void onCreate() {
		super.onCreate();
		Fresco.initialize(this);
	}
}

加载图片

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
Uri uri = Uri.parse("https://raw.githubusercontent.com/facebook/fresco/gh-pages/static/logo.png");
SimpleDraweeView draweeView = (SimpleDraweeView) findViewById(R.id.my_image_view);
draweeView.setImageURI(uri);

圆角图片组件

RoundedImageView

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
repositories {
    mavenCentral()
}

dependencies {
    compile 'com.makeramen:roundedimageview:2.3.0'
}

XML中应用

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
<com.makeramen.roundedimageview.RoundedImageView
        xmlns:app="http://schemas.android.com/apk/res-auto"
        android:id="@+id/imageView1"
        android:src="@drawable/photo1"
        android:scaleType="fitCenter"
        app:riv_corner_radius="30dip"
        app:riv_border_width="2dip"
        app:riv_border_color="#333333"
        app:riv_mutate_background="true"
        app:riv_tile_mode="repeat"
        app:riv_oval="true" />

代码中应用

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
RoundedImageView riv = new RoundedImageView(context);
riv.setScaleType(ScaleType.CENTER_CROP);
riv.setCornerRadius((float) 10);
riv.setBorderWidth((float) 2);
riv.setBorderColor(Color.DKGRAY);
riv.mutateBackground(true);
riv.setImageDrawable(drawable);
riv.setBackground(backgroundDrawable);
riv.setOval(true);
riv.setTileModeX(Shader.TileMode.REPEAT);
riv.setTileModeY(Shader.TileMode.REPEAT);

背景圆角

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
<?xml version="1.0" encoding="utf-8"?>  
<shape xmlns:android="http://schemas.android.com/apk/res/android">  
	<solid android:color="#60000000"/>  
	<stroke android:width="3dp" color="#ff000000"/>  
	<corners android:radius="10dp" />  
</shape>

容器圆角(CardView)

引用

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
dependencies {  
    implementation 'com.android.support:cardview-v7:27.0.2'
}

设置

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
<android.support.v7.widget.CardView xmlns:android="http://schemas.android.com/apk/res/android"  
    xmlns:app="http://schemas.android.com/apk/res-auto"  
    android:id="@+id/cardview"  
    app:cardCornerRadius="8dp"  
    app:cardBackgroundColor="@color/black"  
    android:layout_margin="8dp"  
    android:layout_height="80dp"  
    android:layout_width="match_parent">  
    
</android.support.v7.widget.CardView>
本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2018-03-17,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
学习|Android中两个PhotoView对比及Glide的扩展使用
PhotoView是在Android一个比较常用的图片预览的开源库,在搜索中也发现了两个不同的PhotoView,分别是com.github.chrisbanes:PhotoView:2.3.0和com.bm.photoview:library:1.4.1,从使用对比的效果来说,个人更倾向于com.bm.photoview,这个除了有上面的那个的功能外,还可以加入图像的旋转。
Vaccae
2020/01/15
3.6K0
学习|Android中两个PhotoView对比及Glide的扩展使用
android 圆角图片的实现形式
android 圆角图片的实现形式,包括用第三方、也有系统的。比如makeramen:roundedimageview,系统的cardview , glide .fresco 。
方志朋
2022/11/30
5950
android 圆角图片的实现形式
Android CameraX结合LibYUV和GPUImage自定义相机滤镜
之前使用Camera实现了一个自定义相机滤镜(Android自定义相机滤镜 ),但是运行起来有点卡顿,这次用Camerax来实现一样的效果发现很流畅,在此记录一下,也希望能帮到有需要的同学。
用户9239674
2021/12/02
1.3K0
我常用的Android库
如果编程语言为Kotlin, 替换 annotationProcessor 为 kapt
码客说
2019/10/22
1K0
Android:超好用的ScrollView,滑动操作最简单的方式
上篇博客试图采用RecyclerView这个组件来实现一个滑动效果,结果发现大部分代码都是通过java代码来控制填充,设计时不仅操作麻烦(最主要看不懂),而且不能像xml文件一样实时预览效果。 碰巧发现了这篇博客 Android ListView滚动条配置完全解析,详细介绍了ScrollView这个组件的相关配置,非常清楚。我利用ScrollView实现了所需要的目标。(仅用xml,无需java逻辑)
zstar
2022/06/14
1.8K0
Android:超好用的ScrollView,滑动操作最简单的方式
常用的Android库
Android官方 compile 'com.android.support:appcompat-v7:23.0.0' compile 'com.android.support:cardview-v7:23.0.0' compile 'com.android.support:gridlayout-v7:23.0.0' compile 'com.android.support:recyclerview-v7:23.0.0' compile 'com.android.support:design:23.0.0'
码客说
2019/10/22
7040
Android仿TIM、QQ的好友列表的实现(recycleview实现)
整体思路: RecyclerView 是一个增强版的ListView,不仅可以实现和ListView同样的效果,还优化了ListView中存在的各种不足之处。 这里使用recycleviewAdapter的BRAVH框架中的树状列表,在adapter中添加两个样式,一个是分组的样式,一个是好友信息的样式。
祝你万事顺利
2019/05/28
2.6K0
Android项目实战(三十):Fresco加载gif图片并播放
前言: 项目中图文混合使用的太多太多了,但是绝大部分都是静态图片。 然而项目开发中有这么一个需求:显示一个出一个简短的动画(一般都不超过3秒)演示 比如说:一个功能提供很多步骤来教用户做广播体操,那么第一步就显示一个3秒钟的动作图,第二步显示一个几秒钟的动作图。(当然这个需求不是这个功能) 怎么解决呢:一确定这个需求我的第一实现思路便是让美工给我搞几个连续的图片,我使用帧动画来轮回播放 便实现了这个动画。 但是帧动画使用起来太复杂了,一套动作我要搞好久来实现。那么就想Android中支持不支持播放gif格式
听着music睡
2018/05/18
2.3K0
一个Demo学会用Android兼容包新控件
伟大的Google为Android推出了一系列的兼容包,最新的就是Design Support Library了,这里我们结合v7和v4中的几个控件,来主要学习Design Support Library中的几个新控件!一个Demo学会用它们!
GitOPEN
2019/01/29
1.6K0
一个Demo学会用Android兼容包新控件
Android Material UI控件之ShapeableImageView
你有使用过Material中的UI控件吗?为什么要使用它们,相对于原来的控件优势在哪里?   相信你看到这篇文章也会有所疑问,第一个问题就不用说了,那么从第二问题开始回答,Android官方为开发者提供了许多丰富的UI控件,Material 组件就是包含了这些控件的一套工具,多数时候使用它可以满足我们日常开发UI的需求,提高效率。优势就在于它比原来的控件更加的强大,比如说我们平时要是像显示一个圆形的头像,需要怎么做呢?你可能会使用第三方库,Glide或者CircleImageView等一些开源库,或者你会自定义ImageView来实现,那么如果我告诉你Material 中的ImageView可以不需要自定义和使用第三方库就能够实现圆形图片或其他一些形状的图片呢?这样是否证明它更强大?是否能提高你的开发效率呢?听了这么多的废话远不如实践得劲,其实我也是这么想的,但是我得让你知道为什么才行,这才是写文章的目的。下面是正文了。
晨曦_LLW
2020/10/26
2.4K0
Android Material UI控件之ShapeableImageView
Android:最新版CardView的安装和使用
很多软件都使用了卡片式的布局,看上去非常美观。查了一下,大多是采用CardView这个神奇的组件实现。 翻阅大部分教程,大多数都是采用这行代码来调用cardview包
zstar
2022/06/14
9250
Android:最新版CardView的安装和使用
002. 糗事百科 / QiuShiBaiKe [android]
第2个应用是 糗事百科。 源码:https://github.com/iOSDevLog/1day1app 002.QiuShiBaiKe 分析一下需求。 从 http://qiushibaike.c
iOSDevLog
2018/05/17
1.1K0
Glide、Picasso和Fresco
Glide、Picasso和Fresco都是目前Android图片加载的主流框架。
yechaoa
2022/06/10
6030
Glide、Picasso和Fresco
Android之CardView[通俗易懂]
CardView是View的子类,View一般使用Background设置背景色,为什么还要单独提取出一个属性让我们来设置背景色呢?
全栈程序员站长
2022/11/07
6.6K0
Android之CardView[通俗易懂]
CardView_cardminder是什么软件
本文介绍CardView这个控件的使用,CardView继承至FrameLayout类,是support-v7包下的一个类,使用时必须引入cardview依赖包,可在下载的sdk文件夹中找到。。。
全栈程序员站长
2022/11/07
9590
CardView_cardminder是什么软件
Android 开发 - 网络图片加载库 Fresco 的使用。
在你的自定义application中,或者在Activity.onCreate方法内,setContentView之前调用:
张云飞Vir
2020/03/16
2K0
CardView的那点事儿
类继承关系: java.lang.Object ↳ android.view.View ↳ android.view.ViewGroup ↳ android.widget.FrameLayout ↳ android.support.v7.widget.CardView
小小工匠
2021/08/16
1.1K0
相关推荐
学习|Android中两个PhotoView对比及Glide的扩展使用
更多 >
领券
💥开发者 MCP广场重磅上线!
精选全网热门MCP server,让你的AI更好用 🚀
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
本文部分代码块支持一键运行,欢迎体验
本文部分代码块支持一键运行,欢迎体验