论坛
潜水/灌水快乐,沉淀知识,认识更多同行。
ToB圈子
加入IT圈,遇到更多同好之人。
朋友圈
看朋友圈动态,了解ToB世界。
ToB门户
了解全球最新的ToB事件
博客
Blog
排行榜
Ranklist
文库
业界最专业的IT文库,上传资料也可以赚钱
下载
分享
Share
导读
Guide
相册
Album
记录
Doing
搜索
本版
文章
帖子
ToB圈子
用户
免费入驻
产品入驻
解决方案入驻
公司入驻
案例入驻
登录
·
注册
只需一步,快速开始
账号登录
立即注册
找回密码
用户名
Email
自动登录
找回密码
密码
登录
立即注册
首页
找靠谱产品
找解决方案
找靠谱公司
找案例
找对的人
专家智库
悬赏任务
圈子
SAAS
ToB企服应用市场:ToB评测及商务社交产业平台
»
论坛
›
软件与程序人生
›
移动端开发
›
鸿蒙
›
HarmonyOS鸿蒙最新鸿蒙HarmonyOS APP开发入门3——组件 ...
HarmonyOS鸿蒙最新鸿蒙HarmonyOS APP开发入门3——组件(九 按钮组件 )(1) ...
王柳
金牌会员
|
2024-10-12 09:03:38
|
显示全部楼层
|
阅读模式
楼主
主题
822
|
帖子
822
|
积分
2466
深知大多数步伐员,想要提升技能,往往是本身摸索发展,但本身不成体系的自学结果低效又漫长,而且极易碰到天花板技术故步自封!
既有适合小白学习的零底子资料,也有适合3年以上履历的小伙伴深入学习提升的进阶课程,涵盖了95%以上鸿蒙开发知识点,真正体系化!
由于文件比较多,这里只是将部分目录截图出来,全套包含大厂面经、学习笔记、源码讲义、实战项目、大纲路线、讲解视频,而且后续会持续更新
需要这份系统化的资料的朋友,可以戳这里获取
Button是一种常见的组件,点击可以触发对应的操作,通常由文本或图标组成,也可以由图标和文本共同组成。我们在开发中最常用到的一个组件。
创建Button
在layout目录下的xml文件中创建Button,并设置按钮的配景形状、颜色。
常用的配景如文本配景、按钮配景,通常采用XML格式放置在graphic目录下。
<Button
ohos:id="$+id:button"
ohos:width="match\_content"
ohos:height="match\_content"
ohos:text\_size="27fp"
ohos:text="button"
ohos:background\_element="$graphic:background\_button"
ohos:left\_margin="15vp"
ohos:bottom\_margin="15vp"
ohos:right\_padding="8vp"
ohos:left\_padding="8vp"
ohos:element\_left="$media:ic\_btn\_reload"
/>
复制代码
在Project窗口,打开“entry > src > main > resources > base > media”,拖动所需图片文件添加至media目录下。
在Project窗口,打开“entry > src > main > resources > base”,右键点击“graphic”文件夹,选择“New > File”,定名为“background_button.xml”,在该文件中定义按钮的配景形状、颜色。
<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:ohos="http://schemas.huawei.com/res/ohos"
ohos:shape="rectangle">
<corners
ohos:radius="10"/>
<solid
ohos:color="#007CFD"/>
</shape>
复制代码
响应点击变乱
按钮的紧张作用是当用户单击按钮时,会实验相应的操作或者界面出现相应的变革。实际上用户点击按钮时,Button对象将收到一个点击变乱。开发者可以自定义响应点击变乱的方法。比方,通过创建一个Component.ClickedListener对象,然后通过调用setClickedListener将其分配给按钮。
Button button = (Button) findComponentById(ResourceTable.Id\_button);
// 为按钮设置点击事件回调
button.setClickedListener(new Component.ClickedListener() {
@Override
public void onClick(Component component) {
// 此处添加点击按钮后的事件处理逻辑
}
});
复制代码
差别类型的按钮
按照按钮的形状,按钮可以分为:平凡按钮、椭圆按钮、胶囊按钮、圆形按钮等。
平凡按钮
平凡按钮和其他按钮的区别在于不需要设置任何形状,只设置文本和配景颜色即可,比方:
<Button
ohos:width="150vp"
ohos:height="50vp"
ohos:text\_size="27fp"
ohos:text="button"
ohos:background\_element="$graphic:color\_blue\_element"
ohos:left\_margin="15vp"
ohos:bottom\_margin="15vp"
ohos:right\_padding="8vp"
ohos:left\_padding="8vp"/>
复制代码
graphic目录下的color_blue_element.xml文件示比方下:
<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:ohos="http://schemas.huawei.com/res/ohos"
ohos:shape="rectangle">
<solid ohos:color="#007CFD"/>
</shape>
复制代码
椭圆按钮
椭圆按钮是通过设置background_element的来实现的,background_element的shape设置为椭圆(oval),比方:
<Button ohos:width="150vp"
ohos:height="50vp"
ohos:text\_size="27fp"
ohos:text="button"
ohos:background\_element="$graphic:oval\_button\_element"
ohos:left\_margin="15vp"
ohos:bottom\_margin="15vp"
ohos:right\_padding="8vp"
ohos:left\_padding="8vp"
ohos:element\_left="$media:ic\_btn\_reload"/>
复制代码
graphic目录下的oval_button_element.xml文件示比方下:
<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:ohos="http://schemas.huawei.com/res/ohos"
ohos:shape="oval">
<solid ohos:color="#007CFD"/>
</shape>
复制代码
胶囊按钮
胶囊按钮是一种常见的按钮,设置按钮配景时将配景设置为矩形形状,而且设置ShapeElement的radius的半径,比方:
<Button ohos:id="$+id:button"
ohos:width="match\_content"
ohos:height="match\_content"
ohos:text\_size="27fp"
ohos:text="button"
ohos:background\_element="$graphic:capsule\_button\_element"
ohos:left\_margin="15vp"
ohos:bottom\_margin="15vp"
ohos:right\_padding="15vp"
ohos:left\_padding="15vp"/>
复制代码
graphic目录下的capsule_button_element.xml文件示比方下:
<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:ohos="http://schemas.huawei.com/res/ohos"
ohos:shape="rectangle">
<corners ohos:radius="100"/>
<solid ohos:color="#007CFD"/>
</shape>
复制代码
圆形按钮
圆形按钮和椭圆按钮的区别在于组件本身的宽度和高度需要雷同,比方:
<Button
ohos:id="$+id:button"
ohos:width="50vp"
ohos:height="50vp"
ohos:text\_size="27fp"
ohos:background\_element="$graphic:circle\_button\_element"
ohos:text="+" ohos:left\_margin="15vp"
ohos:bottom\_margin="15vp"
ohos:right\_padding="15vp"
ohos:left\_padding="15vp"/>
复制代码
graphic目录下的circle_button_element.xml文件示比方下:
<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:ohos="http://schemas.huawei.com/res/ohos"
ohos:shape="oval">
<solid ohos:color="#007CFD"/>
</shape>
复制代码
场景示例
利用圆形按钮,胶囊按钮,文本组件可以绘制出如下拨号盘的UI界面。
**图4 界面结果
源码示例:
<?xml version="1.0" encoding="utf-8"?>
<DirectionalLayout
xmlns:ohos="http://schemas.huawei.com/res/ohos"
ohos:width="match\_parent"
ohos:height="match\_parent"
ohos:background\_element="$graphic:color\_light\_gray\_element"
ohos:orientation="vertical">
<Text
ohos:width="match\_content"
ohos:height="match\_content"
ohos:text\_size="20fp"
ohos:text="0123456789"
ohos:background\_element="$graphic:green\_text\_element"
ohos:text\_alignment="center"
ohos:layout\_alignment="horizontal\_center"
/>
<DirectionalLayout
ohos:width="match\_parent"
ohos:height="match\_content"
ohos:alignment="horizontal\_center"
ohos:orientation="horizontal"
ohos:top\_margin="5vp"
ohos:bottom\_margin="5vp">
<Button
ohos:width="40vp"
ohos:height="40vp"
ohos:text\_size="15fp"
ohos:background\_element="$graphic:green\_circle\_button\_element"
ohos:text="1"
ohos:text\_alignment="center"
/>
<Button
ohos:width="40vp"
ohos:height="40vp"
ohos:text\_size="15fp"
ohos:background\_element="$graphic:green\_circle\_button\_element"
ohos:text="2"
ohos:left\_margin="5vp"
ohos:right\_margin="5vp"
ohos:text\_alignment="center"
/>
<Button
ohos:width="40vp"
ohos:height="40vp"
ohos:text\_size="15fp"
ohos:background\_element="$graphic:green\_circle\_button\_element"
ohos:text="3"
ohos:text\_alignment="center"
/>
</DirectionalLayout>
<DirectionalLayout
ohos:width="match\_parent"
ohos:height="match\_content"
ohos:alignment="horizontal\_center"
ohos:orientation="horizontal"
ohos:bottom\_margin="5vp">
<Button
ohos:width="40vp"
ohos:height="40vp"
ohos:text\_size="15fp"
ohos:background\_element="$graphic:green\_circle\_button\_element"
ohos:text="4"
ohos:text\_alignment="center"
/>
**深知大多数程序员,想要提升技能,往往是自己摸索成长,但自己不成体系的自学效果低效又漫长,而且极易碰到天花板技术停滞不前!**
![](https://i-blog.csdnimg.cn/blog_migrate/1e210328c1ebf43f08d3b6c5f5c13b48.png)
![img](https://img-blog.csdnimg.cn/img_convert/8a0aec165c32c1ba131f44b3f70d52d9.png)
![img](https://img-blog.csdnimg.cn/img_convert/62b356127464f5c061769534bb8700b8.png)
**既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,涵盖了95%以上鸿蒙开发知识点,真正体系化!**
**由于文件比较多,这里只是将部分目录截图出来,全套包含大厂面经、学习笔记、源码讲义、实战项目、大纲路线、讲解视频,并且后续会持续更新**
**[需要这份系统化的资料的朋友,可以戳这里获取](https://bbs.csdn.net/topics/618636735)**
668910224b259a5ffe804fa6d0db.png)
[外链图片转存中...(img-F5Ag2ikp-1715889328634)]
[外链图片转存中...(img-z4FAOGuZ-1715889328634)]
**既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,涵盖了95%以上鸿蒙开发知识点,真正体系化!**
**由于文件比较多,这里只是将部分目录截图出来,全套包含大厂面经、学习笔记、源码讲义、实战项目、大纲路线、讲解视频,并且后续会持续更新**
**[需要这份系统化的资料的朋友,可以戳这里获取](https://bbs.csdn.net/topics/618636735)**
复制代码
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。
本帖子中包含更多资源
您需要
登录
才可以下载或查看,没有账号?
立即注册
x
回复
使用道具
举报
0 个回复
正序浏览
返回列表
快速回复
高级模式
B
Color
Image
Link
Quote
Code
Smilies
您需要登录后才可以回帖
登录
or
立即注册
本版积分规则
发表回复
回帖并转播
发新帖
回复
王柳
金牌会员
这个人很懒什么都没写!
楼主热帖
【小程序】图解小程序平台架构及其特征 ...
NSIS官方认证插件集成安装包 ...
Keytool配置 Tomcat的HTTPS双向认证 ...
校园网组网方案的设计
太方便了,钉钉上就可完成代码发布审批 ...
腾讯开源的 3 个 GitHub 项目,足够良 ...
项目中多级缓存设计实践总结 ...
Google Earth Engine(GEE)——Kmeans ...
三天吃透Java基础八股文
机加工行业MES系统模具行业MES系统CNCl ...
标签云
挺好的
服务器
快速回复
返回顶部
返回列表