经常玩儿App的小伙伴都知道,APP上面有很多按钮都是圆角的,圆形给人感觉饱满,富有张力,不知道设计圆角按钮的小伙伴是不是和小编有着相同的想法`(*∩_∩*)′,听小编公司开发IOS的小伙伴说,他们里面直接有圆角的button,但是对于开发Android的小伙伴就不一样了,里面没有直接的圆角button可以供我们使用,在xml里面布局一个button,还不是圆角的,怎么办nie,方法总比困难多,我们成长的机会又来了,最近在小编的项目中,需要用到圆角的button,还需要用到圆角的头像,经过半天捣鼓,终于是圆角的啦,开心ing,效果图如下,但是效果图展示的用户中心是一张图片,不是用imageview。今天这篇博文,小编就来简单的介绍一下如何敲出圆角的Button以及圆角的头像,小编先来介绍如何敲出圆角的头像,效果图如下所示:

今天这篇博文,小编做了一个关于如何制作圆角的一个Android小demo,希望可以帮助到有需要的小伙伴,首先,新建一个Android项目,在drawable_xhdpi这个文件下面,新建一个Android xml文件,取名为fillet,如下图所示:

接着第二步,我们开始编写fillet里面的xml,代码如下所示:

<?xml version="1.0" encoding="UTF-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android" android:shape="rectangle"> <!-- 填充的颜色 --> <solid android:color="#4392F9" /> <!-- 设置按钮的四个角为弧形 --> <!-- android:radius 弧形的半径 --> <corners android:radius="5dip" /> <!-- padding:Button里面的文字与Button边界的间隔 -->
<padding android:left="10dp" android:top="10dp" android:right="10dp" android:bottom="10dp" />
</shape> 

第三步,编写layout里面的文件activity_main.xml,代码如下所示:

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:orientation="vertical" android:layout_width="fill_parent" android:layout_height="fill_parent" > <!--等一个故事的布局,写着玩儿的`(*∩_∩*)′ --><TextView    android:layout_width="fill_parent"   android:layout_height="wrap_content"   android:text="等一个故事"/> <!--   圆角button的布局 -->
<Button   android:id="@+id/filletButton" android:layout_gravity="center"android:text="圆角按钮 " android:textColor="#FFFFFF"android:layout_width="wrap_content"   android:layout_height="wrap_content"   android:background="@drawable/fillet"/>
</LinearLayout> 

第四步,编写values文件下styles.xml的内容,具体代码如下所示:

<resources><!--Base application theme, dependent on API level. This theme is replacedby AppBaseTheme from res/values-vXX/styles.xml on newer devices.--><style name="AppBaseTheme" parent="android:Theme.Light"><!--Theme customizations available in newer API levels can go inres/values-vXX/styles.xml, while customizations related tobackward-compatibility can go here.--></style><!-- Application theme. --><style name="AppTheme" parent="AppBaseTheme"><!-- All customizations that are NOT specific to a particular API-level can go here. --></style><string name="action_settings">Settings</string></resources>

第五步,编写FillButtonActivity.java类里面的内容,代码如下所示:

package com.example.filletbutton;import android.app.Activity;
import android.os.Bundle;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.Toast;public class FilletButtonActivity extends Activity {Button FilletButton;  @Override public void onCreate(Bundle savedInstanceState) {  super.onCreate(savedInstanceState);  setContentView(R.layout.activity_main);  FilletButton=(Button)findViewById(R.id.filletButton);  //使用匿名类注册Button事件  FilletButton.setOnClickListener(new OnClickListener()  {       public void onClick(View v)  {  Toast.makeText(FilletButtonActivity.this, "你点击了圆角按钮",Toast.LENGTH_LONG).show();  }  });  }  }

最后我们来看一下运行的效果,如下图所示:


        介绍完如何敲出圆角的Button之后,小编接着像小伙伴们介绍一下,如何敲出圆角的头像,首先,第一步,我们来编写xml里面的布局代码,具体代码如下所示:

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"xmlns:tools="http://schemas.android.com/tools"android:layout_width="match_parent"android:layout_height="match_parent"android:orientation="vertical"tools:context=".TestActivity"><FrameLayoutandroid:layout_width="match_parent"android:layout_height="135dp"android:background="@drawable/us"><FrameLayoutandroid:layout_width="match_parent"android:layout_height="44dp"><ImageButtonandroid:id="@+id/about_us_back"android:layout_width="14dp"android:layout_height="25.5dp"android:layout_gravity="center_vertical"android:layout_marginLeft="10dp"android:background="@drawable/back" /><!-- 关于我们的布局 --><TextViewandroid:layout_width="wrap_content"android:layout_height="wrap_content"android:layout_gravity="center"android:text="关于我们"android:textColor="#fff"android:textSize="19sp" /> </FrameLayout><ImageViewandroid:id="@+id/imageView2"android:layout_width="70dp"android:layout_height="70dp"android:layout_marginTop="8dp"android:layout_gravity="center"android:layout_alignParentTop="true"android:layout_centerHorizontal="true"android:src="@drawable/my" /><!-- 用户昵称,无忧心情的布局 --><TextViewandroid:layout_width="wrap_content"android:layout_height="wrap_content"android:layout_gravity="center_horizontal|bottom"android:layout_marginBottom="5dp"android:textColor="#FFFFFF"android:text="无忧心情" /></FrameLayout></LinearLayout>

接着,我们来编写java类里面的代码,代码如下所示:

package com.h8.imageroundcorner;import android.app.Activity;
import android.graphics.Bitmap;
import android.graphics.BitmapFactory;
import android.graphics.Canvas;
import android.graphics.Paint;
import android.graphics.PorterDuffXfermode;
import android.graphics.Rect;
import android.graphics.RectF;
import android.graphics.Bitmap.Config;
import android.graphics.PorterDuff.Mode;
import android.os.Bundle;
import android.widget.ImageView;public class TestActivity extends Activity {ImageView imageView;@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.test);imageView = (ImageView) findViewById(R.id.imageView2);Bitmap b = BitmapFactory.decodeResource(getResources(), R.drawable.my);imageView.setImageBitmap(toRoundCorner(b,100));}public static Bitmap toRoundCorner(Bitmap bitmap, int pixels) {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 = pixels;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;}}

最后,我们来看一下效果图:


     小编寄语:该博文,小编主要简单的介绍了,如何在Android应用中制作出圆角的Button。以及如何制作出圆角的头像,还是那句话对于小编来说,既是挑战更是机遇,因为知识都是相通的,再者来说,在小编的程序人生中,留下最珍贵的记忆,虽然以后小编不一定从事安卓这个行业,代码世界里,很多种事,有的甜蜜,有的温馨,有的婉转成歌,有的绵延不息,在这些故事里,我们唯一的共通之处就是,某年,某月,某个波澜不惊的日子里,曾经很爱很爱你!爱你--这段实习的日子里,安卓带给小编的种种的惊喜。

Android Demo---如何敲出圆角的Button+圆角头像相关推荐

  1. android新年祝福代码,讯飞输入法发布Android新春版 Biu一下敲出美好祝愿!

    原标题:讯飞输入法发布Android新春版 Biu一下敲出美好祝愿! 挥别难忘的2018,讯飞输入法与小伙伴们携手迎接"猪"事顺利的新一年.Boys and 朋友们.Ladies ...

  2. Android创建圆形或圆角按钮Button 真菜鸟食用

    Android创建圆形或圆角按钮Button 真菜鸟食用 1.在res\drawable下创建.xml文件(我起名为round_button.xml) 你可以右击res新建Android资源文件,将R ...

  3. Android自定义底部弹出窗-dialog(2种实现分析+源码)

    Android自定义底部弹出窗-dialog(2种实现分析+源码) 上线项目功能抽取,在项目开发中,我们会在许多地方会用到底部自定义弹窗,比如设置:个人账户退出,切换,照片的拍照或者相册的调出,或者一 ...

  4. Tensorflow Lite Android Demo App

    Tensorflow Lite Android Demo App 本文仅演示如何打通Tensorflow Lite官方demo.  Building in Android Studio using T ...

  5. LeadTools Android 入门教学——运行第一个Android Demo

    LeadTools 有很多Windows平台下的Demo,非常全面,但是目前开发手机应用的趋势也越来越明显,LeadTools也给大家提供了10个Android的Demo,这篇文章将会教你如何运行第一 ...

  6. android的底部弹出框炫酷的样式,Android自定义底部弹出框ButtomDialog

    本文实例为大家分享了Android自定义底部弹出框的具体代码,供大家参考,具体内容如下 先看看效果和你要的是否一样 一 .先来配置自定义控件需要的资源 1.在res文件夹下创建一个anim文件夹并创建 ...

  7. android手机自动化测试,appium自动化测试Android Demo

    1.启动appium上一篇介绍了iOS Demo,此片将开启Android Demo,依然是mac系统,以后会开启Windows系统的. Android Demo开启前,Android配置环境要配置好 ...

  8. 安卓棒棒糖,敲出国内ROM厂商真面目

    自从去年6月安卓L正式面世以来,国内ROM厂商无不对其磨刀霍霍,纷纷准备开发基于Android 5.0的操作系统.去年下半年的营销大战一定程度上转移了人们的视线,魅族连续发布4款新机很大程度上培育了市 ...

  9. Android Demo : 悬浮窗

    Android Demo : 悬浮窗 搬砖自:简书 链接:https://www.jianshu.com/p/ac63c57d2555 设计思路分析 本Demo的设计思路如下: 一个MainActiv ...

最新文章

  1. python备份文件代码_python备份文件以及mysql数据库的脚本代码
  2. ASP.NET输出JSON格式数据
  3. hdu 4888 最大流慢板
  4. 16进制ff转化为二进制_3秒钟快速转换十六进制为二进制
  5. 架构无小事:QQ碰微信 贴吧遇微博
  6. python的protected和private
  7. Splash 渲染引擎简介
  8. 模型优化:BatchNorm合并到卷积中
  9. PHP的几种排序算法的比较
  10. gitbook新版本 build命令导出的html不能跳转?
  11. postman delete 请求传递数组_Postman请求方法
  12. python staticmethod
  13. 大话中国骨干网(上)
  14. 【Python】torrentParser1.01
  15. Ajax请求前显示的等待图标
  16. HFSS仿真侧馈微带天线学习笔记
  17. win7共享计算机打不开,windows7共享文件夹打不开怎么办
  18. 江在川上曰:JS函数
  19. 考证大全 | 证券从业资格考试
  20. ffmpeg各种操作处理

热门文章

  1. 鸟叫就能黑掉AI系统,而且你根本察觉不到
  2. 拿到软银巨额投资后,通用无人车部门Cruise可能要单独IPO了
  3. 有个AI陪你一起写代码,是种怎样的体验?| 附ICLR论文
  4. 如何让手机快速运行AI应用?这有份TVM优化教程
  5. IE 浏览器 js new Date NAN
  6. 游戏人生Silverlight(6) - 贪吃蛇[Silverlight 3.0(c#)]
  7. openwrt 网关烧写程序
  8. 小端法、大端法、网络字节转序
  9. 点滴积累【JS】---JS小功能(JS实现多物体缓冲运动)
  10. java设计模式(八) 适配器模式