最好用的安卓按钮(3)

属性解释
  • 按钮文字
    app:text=“床前明月光”

  • 按钮文字颜色
    app:textColor=“@color/color_white”

  • 按钮文字大小
    app:textSize=“22sp”

  • 按钮背景颜色
    app:color_normal=“@color/color_accent”

0x2 单独设置每个圆角

效果

代码

<top.androidman.SuperButton
android:layout_width=“match_parent”
android:layout_height=“60dp”
android:layout_margin=“20dp”
app:color_normal=“@color/color_6596ff”
app:corner=“40dp”
app:corner_left_bottom=“0dp”
app:text=“单独设置左下角为0dp”
app:textColor=“@color/color_white”
app:textSize=“22sp” />

属性解释
  • 单独设置左下角角度
    app:corner_left_bottom=“0dp”

  • 单独设置左上角角度
    app:corner_left_top=“5dp”

  • 单独设置右上角角度
    app:corner_right_top=“22dp”

  • 单独设置右下角角度
    app:corner_right_bottom=“0dp”

  • 按钮四个角的圆角角度
    app:corner=“10dp”

注意:单独设置角度会覆盖corner属性

0x3 Selector

效果

代码

<top.androidman.SuperButton
android:layout_width=“match_parent”
android:layout_height=“60dp”
android:layout_margin=“20dp”
android:onClick=“test”
app:color_normal=“@color/color_accent”
app:color_pressed=“@color/color_ffB419”
app:corner=“10dp”
app:text=“点击会变色哦”
app:textColor=“@color/color_white”
app:textSize=“22sp” />

属性解释

  • 当按钮点下时会显示设置的颜色效果
    app:color_normal=“@color/color_accent”

0x4 圆形按钮

效果

代码

<top.androidman.SuperButton
android:layout_width=“160dp”
android:layout_height=“160dp”
android:layout_margin=“20dp”
android:onClick=“test”
app:color_normal=“@color/color_accent”
app:drawable_middle=“@mipmap/icon_like”
app:drawable_middle_height=“50dp”
app:drawable_middle_width=“50dp”
app:shape=“CIRCLE” />

属性解释
  • 按钮上只有图标没有文字
    app:drawable_middle=“@mipmap/icon_like”

  • 按钮上图标高度
    app:drawable_middle_height=“50dp”

  • 按钮上图标宽度
    app:drawable_middle_width=“50dp”

注意:当设置此属性时,文字的相关属性将会失效

0x5 渐变背景的按钮

效果

代码

<top.androidman.superbutton.SuperButton
android:layout_width=“match_parent”
android:layout_height=“60dp”
android:layout_margin=“20dp”
app:color_direction=“RIGHT_LEFT”
app:color_end=“@color/color_14c7de”
app:color_start=“@color/color_red”
app:corner=“20dp”
app:text=“从右到左渐变”
app:textColor=“@color/color_white”
app:textSize=“22sp” />

属性解释
  • 开始颜色
    app:color_start=“@color/color_14c7de”

  • 结束颜色
    app:color_end=“@color/color_red”

  • 颜色渐变方向
    app:color_direction=“RIGHT_LEFT”

  • TOP_BOTTOM 从上到下

  • BOTTOM_TOP 从下到上

  • LEFT_RIGHT 从左到右

  • RIGHT_LEFT 从右到左

  • TR_BL 从右上到左下

  • BL_TR 从左下到右上

  • BR_TL 从右下到左上

  • TL_BR 从左上到右下

注意:当设置颜色渐变时,color_normal,color_pressed设置将失效

0x6 有边框按钮

效果

代码

<top.androidman.SuperButton
android:layout_width=“match_parent”
android:layout_height=“60dp”
android:layout_margin=“20dp”
app:border_color=“@color/color_red”
app:border_width=“2dp”
app:color_normal=“@color/color_accent”
app:corner=“10dp”
app:text=“@string/poetry_1”
app:textColor=“@color/color_white”
app:textSize=“22sp” />

属性解释
  • 边框宽度
    app:border_width=“2dp”

  • 边框颜色
    app:border_color=“@color/color_red”

0x7 按钮不可点击

效果

代码

<top.androidman.SuperButton
android:layout_width=“match_parent”
android:layout_height=“60dp”
android:layout_margin=“20dp”
android:onClick=“test”
app:button_click_able=“false”
app:color_normal=“@color/color_accent”
app:corner=“10dp”
app:singleLine=“false”
app:text=“app:button_click_able=false\n也可以代码设置”
app:textColor=“@color/color_white”
app:textSize=“22sp” />

属性解释
  • 按钮是否可以点击,默认为true可以点击
    app:button_click_able=“false”

  • 按钮文字是否单行,默认为true单行
    app:singleLine=“false”

注意:按钮提供有方法对点击事件进行控制,请参考高级使用里面相关方法

0x8 带图标按钮

效果

代码

<top.androidman.superbutton.SuperButton
android:layout_width=“match_parent”
android:layout_height=“60dp”
android:layout_margin=“20dp”
app:color_normal=“@color/color_red”
app:corner=“20dp”
app:drawable_padding=“20dp”
app:drawable_right=“@mipmap/icon_like”
app:text=“图标在右边”
app:textColor=“@color/color_white”
app:textSize=“22sp” />

属性解释
  • 图标在文字右边
    app:drawable_right=“@mipmap/icon_like”

  • 图标在文字左边
    app:drawable_left=“@mipmap/icon_like”

  • 图标在文字上边
    app:drawable_top=“@mipmap/icon_like”

  • 图标在文字下边
    app:drawable_bottom=“@mipmap/icon_like”

  • 图标距文字距离
    app:drawable_padding=“20dp”

  • 根据文字大小缩放图标,默认为true,当为false时显示原图标大小
    app:drawable_auto=“true”

按钮支持的所有属性
<?xml version="1.0" encoding="utf-8"?>

自我介绍一下,小编13年上海交大毕业,曾经在小公司待过,也去过华为、OPPO等大厂,18年进入阿里一直到现在。

深知大多数初中级Android工程师,想要提升技能,往往是自己摸索成长或者是报班学习,但对于培训机构动则近万的学费,着实压力不小。自己不成体系的自学效果低效又漫长,而且极易碰到天花板技术停滞不前!

因此收集整理了一份《2024年Android移动开发全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友,同时减轻大家的负担。

img

img

img

img

既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,基本涵盖了95%以上Android开发知识点,真正体系化!

由于文件比较大,这里只是将部分目录截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且会持续更新!

如果你觉得这些内容对你有帮助,可以扫码获取!!(备注:Android)

尾声

最后,我再重复一次,如果你想成为一个优秀的 Android 开发人员,请集中精力,对基础和重要的事情做深度研究。

对于很多初中级Android工程师而言,想要提升技能,往往是自己摸索成长,不成体系的学习效果低效漫长且无助。 整理的这些架构技术希望对Android开发的朋友们有所参考以及少走弯路,本文的重点是你有没有收获与成长,其余的都不重要,希望读者们能谨记这一点。

最后想要拿高薪实现技术提升薪水得到质的飞跃。最快捷的方式,就是有人可以带着你一起分析,这样学习起来最为高效,所以为了大家能够顺利进阶中高级、架构师,我特地为大家准备了一套高手学习的源码和框架视频等精品Android架构师教程,保证你学了以后保证薪资上升一个台阶。

当你有了学习线路,学习哪些内容,也知道以后的路怎么走了,理论看多了总要实践的。

进阶学习视频

附上:我们之前因为秋招收集的二十套一二线互联网公司Android面试真题 (含BAT、小米、华为、美团、滴滴)和我自己整理Android复习笔记(包含Android基础知识点、Android扩展知识点、Android源码解析、设计模式汇总、Gradle知识点、常见算法题汇总。)

《Android学习笔记总结+移动架构视频+大厂面试真题+项目实战源码》,点击传送门即可获取!

总要实践的。

进阶学习视频

[外链图片转存中…(img-aefU9Eu8-1712428188747)]

附上:我们之前因为秋招收集的二十套一二线互联网公司Android面试真题 (含BAT、小米、华为、美团、滴滴)和我自己整理Android复习笔记(包含Android基础知识点、Android扩展知识点、Android源码解析、设计模式汇总、Gradle知识点、常见算法题汇总。)

[外链图片转存中…(img-uNd0Mwyi-1712428188747)]

《Android学习笔记总结+移动架构视频+大厂面试真题+项目实战源码》,点击传送门即可获取!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/797185.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

替换空格(替换特定字符)

&#x1f600;前言 在字符串处理中&#xff0c;经常会遇到需要替换特定字符的情况。本文将介绍一道经典的字符串替换问题&#xff1a;将字符串中的空格替换成 “%20”。我们将探讨一种高效的解决方法&#xff0c;通过倒序遍历字符串来实现原地替换&#xff0c;避免额外空间的开…

基于单片机分舱式电开水炉位控制系统

**单片机设计介绍&#xff0c;基于单片机分舱式电开水炉位控制系统 文章目录 一 概要二、功能设计三、 软件设计原理图 五、 程序六、 文章目录 一 概要 基于单片机分舱式电开水炉位控制系统概要主要涉及通过单片机对电开水炉的各个舱位进行精确控制&#xff0c;实现水位、温度…

【热门话题】Stable Diffusion:本地部署教程

&#x1f308;个人主页: 鑫宝Code &#x1f525;热门专栏: 闲话杂谈&#xff5c; 炫酷HTML | JavaScript基础 ​&#x1f4ab;个人格言: "如无必要&#xff0c;勿增实体" 文章目录 Stable Diffusion&#xff1a;本地部署教程一、引言二、环境准备1. 硬件配置2. …

springboot项目框架讲解

文章目录 1.项目文件结构2.数据库连接信息3.其他配置信息4.java代码文件目录介绍5.entity层代码6.controller&#xff0c;service&#xff0c;dao&#xff0c;entity层之间的关系7.controller层代码8.登陆拦截功能实现9.文件上传功能 1.项目文件结构 2.数据库连接信息 3.其他配…

ETL中如何自定义规则

一、ETL中的规则 在使用规则之前我们先来了解一下什么是规则&#xff0c;ETL中规则在很多组件中都能看见&#xff0c;可以理解为按照事前约定好的逻辑去执行&#xff0c;规则可以使得数据更加的规范统一&#xff0c;同时也不需要去纵向的修改底层代码&#xff0c;只需要动态编…

【Frida】【Android】 工具篇:查壳工具大赏

&#x1f6eb; 系列文章导航 【Frida】【Android】01_手把手教你环境搭建 https://blog.csdn.net/kinghzking/article/details/136986950【Frida】【Android】02_JAVA层HOOK https://blog.csdn.net/kinghzking/article/details/137008446【Frida】【Android】03_RPC https://bl…

LiveGBS流媒体平台GB/T28181常见问题-系统服务日志如何配置日志个数日志路径日志时长web操作日志操如何配置保留天数及过滤

LiveGBS系统服务日志如何配置日志个数日志路径日志时长web操作日志操如何配置保留天数及过滤 1、系统服务日志1.1、日志目录1.2、配置日志文件个数及记录时间1.3、配置日志文件路径 2、Web 操作日志2.1、配置保留天数2.2、配置不记录操作日志2.1.1、不记录所有2.1.2、不记录指定…

Golang中的上下文-context包的简介及使用

文章目录 简介context.Background()上下文取消函数上下文值传递建议Reference 简介 Go语言中的context包定义了一个名为Context的类型&#xff0c;它定义并传递截止日期、取消信号和其他请求范围的值&#xff0c;形成一个链式模型。如果我们查看官方文档&#xff0c;它是这样说…

java.lang.NoClassDefFoundError: javax/validation/constraints/Min

1、报错截图 2、解决办法 添加依赖 <dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-validation</artifactId> </dependency>

基于SpringBoot Vue单位考勤管理系统

一、&#x1f4dd;功能介绍 基于SpringBoot Vue单位考勤管理系统 角色&#xff1a;管理员、员工 管理员&#xff1a;管理员进入系统主页面&#xff0c;主要功能包括对首页、个人中心、员工管理、部门信息管理、职位信息管理、加班申请管理、打卡信息管理、工作汇报管理、请假…

SpringBoot属性配置的多种方式

✅作者简介:大家好,我是Leo,热爱Java后端开发者,一个想要与大家共同进步的男人😉😉🍎个人主页:Leo的博客💞当前专栏: 循序渐进学SpringBoot ✨特色专栏: MySQL学习 🥭本文内容:SpringBoot属性配置的多种方式 📚个人知识库: Leo知识库,欢迎大家访问 目录 …

论文阅读——MVDiffusion

MVDiffusion: Enabling Holistic Multi-view Image Generation with Correspondence-Aware Diffusion 文生图模型 用于根据给定像素到像素对应关系的文本提示生成一致的多视图图像。 MVDiffusion 会在给定任意每个视图文本的情况下合成高分辨率真实感全景图像&#xff0c;或将…

备战蓝桥杯---数论相关问题

目录 一、最大公约数和最小公倍数 二、素数判断 三、同余 四、唯一分解定理 五、约数个数定理 六、约数和定理 五、快速幂 六、费马小定理 七、逆元 一、最大公约数和最小公倍数 文章链接&#xff1a;最大公约数和最小公倍数 二、素数判断 文章链接&#xff1a;在J…

C语言——#define的使用

#define定义常量 基本语法 #define name stuff //&#xff08;#define&#xff09;&#xff08;变量名&#xff09;&#xff08;定义的数值&#xff09; 这里记得&#xff0c;是不加分号的 定义常量&#xff08;这里 就要涉及我们经常说的宏定义&#xff09; 定义常量的使…

Python爬虫-爬取药膳食谱数据

&#x1f388; 博主&#xff1a;一只程序猿子 &#x1f388; 博客主页&#xff1a;一只程序猿子 博客主页 &#x1f388; 个人介绍&#xff1a;爱好(bushi)编程&#xff01; &#x1f388; 创作不易&#xff1a;喜欢的话麻烦您点个&#x1f44d;和⭐&#xff01; &#x1f388;…

前端学习之DOM编程案例:抽奖案例

代码 <!DOCTYPE html> <html lang"en"> <head><meta charset"UTF-8"><title>抽奖案例</title><style>*{margin: 0;padding: 0;}</style> </head> <body><div id"container"&g…

浅谈Redis和一些指令

浅浅谈一谈Redis的客户端 Redis客户端 Redis也是一个客户端/服务端结构的程序。 MySQL也是一个客户端/服务端结构的程序。 Redis的客户端也有多种形态 1.自带命令行客户端 redis-cli 2.图形化界面的客户端&#xff08;桌面程序&#xff0c;web程序&#xff09; 像这样的图形…

阿里云服务器可以干嘛?能干啥你还不知道么!

阿里云服务器可以干嘛&#xff1f;能干啥你还不知道么&#xff01;简单来讲可用来搭建网站、个人博客、企业官网、论坛、电子商务、AI、LLM大语言模型、测试环境等&#xff0c;阿里云百科aliyunbaike.com整理阿里云服务器的用途&#xff1a; 阿里云服务器活动 aliyunbaike.com…

Flutter学习12 - SharedPreferences

1、shared_preferences 插件 类似于 Android 中的 SharedPreferences&#xff0c;键值对的形式进行本地存储 1.1、引入插件 在 pubspec.yaml 中引入 dependencies:shared_preferences: ^2.1.0在需要用到的文件中引入 import package:shared_preferences/shared_preference…

二维相位解包理论算法和软件【全文翻译- 掩码(3.4)】

本节我们将研究从质量图中提取掩码的问题。掩码是一个质量图,其像素只有两个值:0 或 1。零值像素标志着质量最低的相位值,这些相位值将被屏蔽、零权重或忽略。第 5 章中的某些 L/ 正则算法需要使用掩码来定义零权重。掩码还可用于某些路径跟踪算法,如第 4.5 节中将要介绍的…