Android Demo---如何敲出圆角的Button+圆角头像
经常玩儿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 replaced by 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 in res/values-vXX/styles.xml, while customizations related to backward-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" FrameLayout android:layout_width="match_parent" android:layout_height="135dp" android:background="@drawable/us" FrameLayout android:layout_width="match_parent" android:layout_height="44dp" ImageButton android: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" / !-- 关于我们的布局 -- TextView android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_gravity="center" android:text="关于我们" android:textColor="#fff" android:textSize="19sp" / /FrameLayout ImageView android: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" / !-- 用户昵称,无忧心情的布局 -- TextView android: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最后,我们来看一下效果图:
protected 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和Flutter的混合工程Demo Flutter和Android混合工程的启动逻辑与纯Flutter应用程序的启动逻辑略有不同。在混合工程中,您需要在Android项目中添加一些额外的代码来启动Flutter引擎并加载Flutter代码。以下是整个app的启动逻辑的详细解释
Android体系课学习 之 网络请求库Retrofit使用方式(附Demo) - 网络请求在我们开发中起的很大比重,有一个好的网络框架可以节省我们的开发工作量,也可以避免一些在开发中不该出现的bug - Retrofit是一个轻量级框架,基于OkHttp的一个Restful框架
相关文章
- android事件系列-onTouch事件与手势操作
- 如何在Ubuntu上使用ADB备份Android数据
- 如何在Android App上高效显示位图
- 关于如何实现Android透明状态栏的总结
- 2021Android精选面试实战总结整理,Android篇
- Android初级开发是如何一步步成为高级开发?隔壁都馋哭了
- Android客户端Web页面通用性能优化实践,大厂直通车!
- Android系统中的进程管理:进程的创建
- Android系统资源图标android.R.drawable
- Android沉浸式状态栏攻略
- android Apk打包过程概述_android是如何打包apk的
- ListView使用Android提供的进行单选多选
- Android Studio如何查找和替换
- Android Studio模拟器如何设置中文输入法
- android开发之定制ViewPager滑动事件
- Android欢迎页面闪屏解决方法
- Android应用中如何调用系统闹钟及日历
- android,java,js,jquery,python入口函数,你的语言呢?
- Android删除相册得最近拍得一张图片
- Android 功耗(8)---如何找到阻止进入deep idle SODI的元凶
- 我的Android进阶之旅------>如何为ListView组件加上快速滑块以及修改快速滑块图像
- Android系统移植与调试之------->如何修改Android设备的开机第一阶段Logo
- Android系统移植与调试之------->如何修改Android启动动画和开机声音