最好用的安卓按钮(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学习笔记总结+移动架构视频+大厂面试真题+项目实战源码》,点击传送门即可获取!

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

idea 开发serlvet汽车租赁管理系统idea开发sqlserver数据库web结构计算机java编程layUI框架开发

一、源码特点 idea开发 java servlet 汽车租赁管理系统是一套完善的web设计系统sqlserver数据库 系统采用serlvetdaobean mvc 模式开发&#xff0c;对理解JSP java编程开发语言有帮助&#xff0c;系统具有完整的源代码和数据库&#xff0c;系统主要采用B/S模式开发。 java se…

Vue input密码输入框自定义密码眼睛icon

我们用的饿了么UI组件库里,密码输入框的icon是固定不变的,如下所示: 点击"眼睛"这个icon不变,现在需求是UI给的设计稿里,密码输入框的"眼睛"有如下两种: 代码如下: <el-input:key="passwordType"ref="password"

基于卷积神经网络的天气识别系统(pytorch框架)【python源码+UI界面+前端界面+功能源码详解】

功能演示&#xff1a; 天气识别系统&#xff0c;vgg16&#xff0c;mobilenet卷积神经网络&#xff08;pytorch框架&#xff09;_哔哩哔哩_bilibili &#xff08;一&#xff09;简介 基于卷积神经网络的天气识别系统是在pytorch框架下实现的&#xff0c;系统中有两个模型可选…

概率论原神版

原概率论教材进行生动修改&#xff0c;插入图画&#xff0c;底部附下载链接 内容与原书保持了一致&#xff0c;增加了可读性 内容十分有趣&#xff0c;学起来也压力很小 下载链接&#xff1a; 链接: https://pan.baidu.com/s/1-KLo0Uxpp9Q9ZChfzEg5kw?pwdgmf6 提取码: gmf…

C#探索之路基础夯实篇(3):面向对象的三大特性和五大原则详解

文章目录 前提&#xff1a;一、特性&#xff1a;二、原则&#xff1a;三、示例1. 单一职责原则 (Single Responsibility Principle, SRP)&#xff1a;2. 开放-封闭原则 (Open-Closed Principle, OCP)&#xff1a;3. 里氏替换原则 (Liskov Substitution Principle, LSP)&#xf…

51单片机实验03-定时器T0来实现流水灯从左到右再从右到左

目录 一、实验目的 二、实验说明 1、51单片机有两个16位内部计数器/定时器&#xff08;C/T&#xff0c; Counter/Timer&#xff09;。 2、模式寄存器TMOD 1) M1M0工作模式控制位&#xff1b; 2) C/T定时器或计数器选择位&#xff1a; 3&#xff09;GATE定时器/计数器运行…

高可用集群-keepalived

一、高可用集群的基本理论 1.基本概念 ①&#xff1a;单点故障&#xff08;Single Point of Failure&#xff09; 硬件故障&#xff1a;设计缺陷、wear out&#xff08;损耗&#xff09;、自然灾害…… 软件故障&#xff1a;设计缺陷 bug ②&#xff1a;健康状态监测 监测手段…

使用 RisingWave、NATS JetStream 和 Superset 进行实时物联网监控

在物联网&#xff08;IoT&#xff09;背景下&#xff0c;处理实时数据会遇到一些特定的障碍&#xff0c;如边缘计算资源不足、网络条件限制、扩展性存在问题、设备间有多样性差异。要克服这些挑战&#xff0c;需要高效的边缘计算技术、强大的安全措施、标准化协议、可扩展的管理…

Pytorch数据结构:GPU加速

文章目录 一、GPU加速1. 检查GPU可用性&#xff1a;2. GPU不可用需要具体查看问题3. 指定设备4.将张量和模型转移到GPU5.执行计算&#xff1a;6.将结果转移回CPU 二、转移原理1. 数据和模型的存储2. 数据传输3. 计算执行4. 设备管理5.小结 三、to方法的参数类型 一、GPU加速 .…

html写一个登录注册页面

<!DOCTYPE html> <html lang"en"> <head><meta charset"UTF-8"><title>注册登录界面Ⅰ</title><link rel"stylesheet" href"https://cdnjs.cloudflare.com/ajax/libs/normalize/8.0.1/normalize.mi…

GA-SVM,基于GA遗传算法优化SVM支持向量机回归预测(多输入单输出)

基于遗传算法&#xff08;Genetic Algorithm, GA&#xff09;优化支持向量机&#xff08;Support Vector Machine, SVM&#xff09;用于回归预测是一个常见的任务。在这个任务中&#xff0c;我们使用GA来寻找SVM的最佳超参数配置&#xff0c;以最大化回归性能指标&#xff0c;例…

力控机器人原理及力控制实现

力控机器人原理及力控制实现 力控机器人是一种能够感知力量并具有实时控制能力的机器人系统。它们可以在与人类进行精准协作和合作时&#xff0c;将力传感技术&#xff08;Force Sensing Technology&#xff09;和控制算法&#xff08;Control Algorithm&#xff09;结合起来&a…

C++STL--排序算法

sort 使用快速排序,平均性能好O(nlogn),但最差情况可能很差O(n^2)。不稳定。 sort(v.begin(),v.end());//对v容器进行排序,默认升序 sort(v.begin(),v.end(),greater<int>());//降序排序对于支持随机访问的迭代器的容器&#xff0c; 都可以利用sort算法直接对其进行排序…

克罗地亚公司注册

克罗地亚是一个发达的资本主义国家&#xff0c;经济基础良好&#xff0c;旅游建筑造船和制药等产业发展水平较高&#xff0c;优质的基础设施&#xff0c;低成本的多语种和高技能劳动力&#xff0c;有力的地理环境&#xff0c;使旅游业发展充满活力&#xff0c;克罗地亚政府承诺…

vue+elementUI实现表格组件的封装

效果图&#xff1a; 在父组件使用表格组件 <table-listref"table":stripe"true":loading"loading":set-table-h"slotProps.setMainCardBodyH":table-data"tableData":columns"columns.tableList || []":ra…

重磅!天途推出平安校园管理平台

天途平安校园管理平台&#xff0c;是围绕校园安全事件开发的一款智能监控与巡逻系统。系统通过大疆机场、无人机和校园内的监控硬件等多端传输的视频和图片信息&#xff0c;经过 AI分析处理后形成告警信息并及时通知学校安保人员。 天途平安校园管理平台 平安校园管理平台优势 …

【深度学习】从基础原理到未来挑战的全面探索

深度学习的基本原理 深度学习&#xff0c;一种模拟人脑分析和处理数据的机器学习技术&#xff0c;已成为人工智能研究中最令人兴奋的进展之一。其核心在于构建和训练神经网络&#xff0c;这些网络由多个层次组成&#xff0c;每一层都能从输入数据中提取并转换特征。随着数据层层…

[Java线程池]ExecutorService|CompletionService的区别与选择

这段时间对业务系统做了个性能测试&#xff0c;其中使用了较多线程池的技术&#xff0c;故此做一个技术总结。 这次总结的内容比较多&#xff0c;主要是四个&#xff1a; ExecutorServiceCompletionServiceRunnableCallable 前两个是线程池相关接口&#xff0c;后两个是多线…

《手把手教你》系列基础篇(七十四)-java+ selenium自动化测试-框架设计基础-TestNG实现DDT - 上篇(详解教程)

1.简介 上一篇文章中宏哥简单的讲解了一下通过xml文件传递参数&#xff0c;这一篇宏哥讲解通过通过DataProvider传递参数&#xff0c;也就是我们常说的数据驱动测试。如何利用TestNG实现DDT&#xff08;数据驱动测试 Data Driver Test&#xff09;&#xff0c;什么是数据驱动测…