HarmonyOS shape 的使用
HarmonyOS shape 吐槽
在说这个shape使用之前先吐槽一下,好像目前版本对shape 总感觉很别扭,因为shape画好之后无法直接看到效果,只能回到布局中才能看到效果,所以大家在使用shape的时候完成之后,先保存然后
直接点击布局上面的刷新这样会比较好一些 具体的位置如下
还有一个特别不好的就是源码里面没注释,如下
总体感觉很不好,希望HarmonyOS 后面越来越好,
下面开始说下shape 的使用,由于官方文档上面没后找到shape的使用说明,下面是自己使用的感觉,如果有不对的地方请多多指教,
shape的存放位置
在resources 里面的graphic里面 具体的如下
shape的创建
由于目前不能直接在布局中使用ctrl + enter 来创建一个shape 所以我们就点击graphic来创建
点击之后就是这样的界面
File name 自己取名字 ,
Root element 里面修改为shape
点击ok 就创建好了
shape 的类型
从上图可以看到有5中类型
1 path 是路径
2 arc 是弧
3 oval 是椭圆
4 line 是线
5 rectangle 是矩形
一般shape 常用的就是椭圆和矩形 ,所以下面就说下这两个的使用
shape 的里面的属性
1 corners 设置角度
2 stroke 设置边框(这个需要注意width没有提示需要自己手写)
3 solid 设置背景
4 gradient 应该是设置渐变色的,但是attrs里面只有type属性,没有设置渐变色的方法 目前不知道怎么使用(android 的里面我们可以使用起始,中间位置来设置,这里没有属性)
5 注意里面没有size 这个设置,感觉就是要你结合布局使用的.
5 bounds 这个作用未知,本来以为是设置padding 的,但是设置了没有效果 ,
下面就使用三个属性的属性来画几个效果
1 画一个四个圆角的背景
layout 的代码如下
<?xml version="1.0" encoding="utf-8"?>
<DependentLayoutxmlns:ohos="http://schemas.huawei.com/res/ohos"ohos:height="match_parent"ohos:width="match_parent"ohos:alignment="horizontal_center"><Textohos:id="$+id:text"ohos:height="50vp"ohos:width="150vp"ohos:background_element="$graphic:test_shape"ohos:text="喜欢"ohos:text_alignment="center"ohos:text_size="22fp"ohos:top_margin="50vp"/></DependentLayout>
shape 代码
<?xml version="1.0" encoding="utf-8"?>
<shapexmlns:ohos="http://schemas.huawei.com/res/ohos"ohos:shape="rectangle"><corners ohos:radius="10vp"/><solid ohos:color="#00d8a0"/>
</shape>
或者
<?xml version="1.0" encoding="utf-8"?>
<shapexmlns:ohos="http://schemas.huawei.com/res/ohos"ohos:shape="rectangle"><cornersohos:left_bottom_x="10vp"ohos:left_bottom_y="10vp"ohos:left_top_x="10vp"ohos:left_top_y="10vp"ohos:right_bottom_x="10vp"ohos:right_bottom_y="10vp"ohos:right_top_x="10vp"ohos:right_top_y="10vp"/><solid ohos:color="#00d8a0"/></shape>
效果如下
2 四个圆角的边框
shape的代码
<?xml version="1.0" encoding="utf-8"?>
<shapexmlns:ohos="http://schemas.huawei.com/res/ohos"ohos:shape="rectangle"><corners ohos:radius="10vp"/><strokeohos:color="#00d8a0"ohos:width="1vp"/></shape>
实现效果
当然我们可以通过调节角度话出圆弧的效果如下
3 绘制一个圆
由于shape里面没有size 这个属性,所以绘制圆的使用需要布局的里面宽和高要一样
布局的代码
<?xml version="1.0" encoding="utf-8"?>
<DependentLayoutxmlns:ohos="http://schemas.huawei.com/res/ohos"ohos:height="match_parent"ohos:width="match_parent"ohos:alignment="horizontal_center"><Textohos:id="$+id:text"ohos:height="150vp"ohos:width="150vp"ohos:background_element="$graphic:test_shape"ohos:text="喜欢"ohos:text_alignment="center"ohos:text_size="22fp"ohos:top_margin="50vp"/></DependentLayout>
shape 代码
<?xml version="1.0" encoding="utf-8"?>
<shapexmlns:ohos="http://schemas.huawei.com/res/ohos"ohos:shape="rectangle"><corners ohos:radius="100vp"/><solidohos:color="#00d8a0"/></shape>
效果如下
4 绘制一个圆环
shape 代码
<?xml version="1.0" encoding="utf-8"?>
<shapexmlns:ohos="http://schemas.huawei.com/res/ohos"ohos:shape="rectangle"><corners ohos:radius="100vp"/><strokeohos:color="#00d8a0"ohos:width="15vp"/></shape>
效果如下
暂时就这么多吧,感觉HarmonyOS 限制了,shape 的绘制,其他的例如渐变色之类的估计
都是代码里面去了,有空在学习代码里面绘制与Android的区别,
总结:1 大家使用的时候由于不能看到效果,还是刷新布局来看效果吧 ,2 stroke使用的时候width 没有提示,需要手写,
HarmonyOS shape 的使用相关推荐
- HarmonyOS之常用布局DependentLayout的使用
一.DependentLayout 简介 DependentLayout 是 Java UI 系统里的一种常见布局.与DirectionalLayout 相比,拥有更多的排布方式,每个组件可以指定相对 ...
- HarmonyOS之常用布局DirectionalLayout的使用
一.DirectionalLayout DirectionalLayout 是 Java UI 中的一种重要组件布局,用于将一组组件(Component)按照水平或者垂直方向排布,能够方便地对齐布局内 ...
- HarmonyOS之常用布局TableLayout的使用
TableLayout 使用表格的方式划分子组件,如下所示: TableLayout 的共有 XML 属性继承自 Component,详情请参考我之前的博客:HarmonyOS之组件通用的XML属性总 ...
- HarmonyOS之常用组件TextField的功能和使用
一.支持的 XML 属性 TextField 的共有 XML 属性继承自:Text. Text 的自有 XML 属性,请参考我之前的博客:HarmonyOS之深入分析常用组件Text的功能和使用. T ...
- HarmonyOS之常用组件Button的功能和使用
一.Button 组件 Button 是一种常见的组件,点击可以触发对应的操作,通常由文本或图标组成,也可以由图标和文本共同组成. 文本按钮,如下所示: 图标按钮,如下所示: 图标和文本共同组成的按钮 ...
- HarmonyOS之常用组件Text的功能和使用
一.支持的 XML 属性 Text 是用来显示字符串的组件,在界面上显示为一块文本区域.Text 作为一个基本组件,有很多扩展,常见的有按钮组件 Button,文本编辑组件 TextField. Te ...
- HarmonyOS之应用工程结构与设备模板
一.HarmonyOS APP 工程结构 ① HarmonyOS 应用的逻辑结构 HarmonyOS 应用发布形态为 APP Pack(Application Package,简称APP),它是由一个 ...
- HarmonyOS使用ArkUI绘制圣诞树
一.前言 起因我参加了 "挑战代码画颗圣诞树" 活动,又因为本次推出一个"圣诞定制勋章"活动,一个是传资源,一个是写文章,为了更好的把知识传递给大家,所以我又出 ...
- 《 HarmonyOS实战—可搭载在车机、大屏、智能手表、平板电脑、手机的计算器它来啦!》
[本文正在参与"有奖征文 | HarmonyOS征文大赛"活动] 目录 布局的实现 Java代码逻辑 GIF演示实现效果 布局的实现 Layout_ability_main.xml ...
最新文章
- SoJpt Boot 2.3-3.8 发布,Spring Boot 使用 Jfinal 特性极速开发
- 算法工程师的落地能力具体指的是什么?
- 十分钟看会laravel导入导出功能,就这么简单
- 使用Core Animation对象来实现动画
- Go 从入门到精通(三)字符串,时间,流程控制,函数
- 网络通信基础(草稿)
- 前端:JS/38/canvas状态的保存和恢复(canvas常用状态大全),canvas画布中图像的变形
- java中throws和throw的区别和用法
- AR的一些常见的操作
- Shiro与Spring整合
- sql函数 StringSplit(SELECT * from Split('黄色,蓝色,黑色',','))
- 关于sql中处理日期的相关函数
- 中国电力电子行业前景方向预测及投资规划建议报告2022-2028年版
- python写入excel数据教程_python实现数据写入excel表格
- java 字符串长度截取,实现java字符串长度截取功能,java字符串长度截取
- #include和 #includefilename.h的区别
- python读取excel画散点图对应多个y_Python数据分析:折线图和散点图的绘制
- PIN track 1000x1000's result
- 你觉得让Android 开发所向往的高薪岗位有哪些?
- 2023成都理工大学计算机考研信息汇总