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 的使用相关推荐

  1. HarmonyOS之常用布局DependentLayout的使用

    一.DependentLayout 简介 DependentLayout 是 Java UI 系统里的一种常见布局.与DirectionalLayout 相比,拥有更多的排布方式,每个组件可以指定相对 ...

  2. HarmonyOS之常用布局DirectionalLayout的使用

    一.DirectionalLayout DirectionalLayout 是 Java UI 中的一种重要组件布局,用于将一组组件(Component)按照水平或者垂直方向排布,能够方便地对齐布局内 ...

  3. HarmonyOS之常用布局TableLayout的使用

    TableLayout 使用表格的方式划分子组件,如下所示: TableLayout 的共有 XML 属性继承自 Component,详情请参考我之前的博客:HarmonyOS之组件通用的XML属性总 ...

  4. HarmonyOS之常用组件TextField的功能和使用

    一.支持的 XML 属性 TextField 的共有 XML 属性继承自:Text. Text 的自有 XML 属性,请参考我之前的博客:HarmonyOS之深入分析常用组件Text的功能和使用. T ...

  5. HarmonyOS之常用组件Button的功能和使用

    一.Button 组件 Button 是一种常见的组件,点击可以触发对应的操作,通常由文本或图标组成,也可以由图标和文本共同组成. 文本按钮,如下所示: 图标按钮,如下所示: 图标和文本共同组成的按钮 ...

  6. HarmonyOS之常用组件Text的功能和使用

    一.支持的 XML 属性 Text 是用来显示字符串的组件,在界面上显示为一块文本区域.Text 作为一个基本组件,有很多扩展,常见的有按钮组件 Button,文本编辑组件 TextField. Te ...

  7. HarmonyOS之应用工程结构与设备模板

    一.HarmonyOS APP 工程结构 ① HarmonyOS 应用的逻辑结构 HarmonyOS 应用发布形态为 APP Pack(Application Package,简称APP),它是由一个 ...

  8. HarmonyOS使用ArkUI绘制圣诞树

    一.前言 起因我参加了 "挑战代码画颗圣诞树" 活动,又因为本次推出一个"圣诞定制勋章"活动,一个是传资源,一个是写文章,为了更好的把知识传递给大家,所以我又出 ...

  9. 《 HarmonyOS实战—可搭载在车机、大屏、智能手表、平板电脑、手机的计算器它来啦!》

    [本文正在参与"有奖征文 | HarmonyOS征文大赛"活动] 目录 布局的实现 Java代码逻辑 GIF演示实现效果 布局的实现 Layout_ability_main.xml ...

最新文章

  1. SoJpt Boot 2.3-3.8 发布,Spring Boot 使用 Jfinal 特性极速开发
  2. 算法工程师的落地能力具体指的是什么?
  3. 十分钟看会laravel导入导出功能,就这么简单
  4. 使用Core Animation对象来实现动画
  5. Go 从入门到精通(三)字符串,时间,流程控制,函数
  6. 网络通信基础(草稿)
  7. 前端:JS/38/canvas状态的保存和恢复(canvas常用状态大全),canvas画布中图像的变形
  8. java中throws和throw的区别和用法
  9. AR的一些常见的操作
  10. Shiro与Spring整合
  11. sql函数 StringSplit(SELECT * from Split('黄色,蓝色,黑色',','))
  12. 关于sql中处理日期的相关函数
  13. 中国电力电子行业前景方向预测及投资规划建议报告2022-2028年版
  14. python写入excel数据教程_python实现数据写入excel表格
  15. java 字符串长度截取,实现java字符串长度截取功能,java字符串长度截取
  16. #include和 #includefilename.h的区别
  17. python读取excel画散点图对应多个y_Python数据分析:折线图和散点图的绘制
  18. PIN track 1000x1000's result
  19. 你觉得让Android 开发所向往的高薪岗位有哪些?
  20. 2023成都理工大学计算机考研信息汇总

热门文章

  1. 程序主动进行电话短信报警,自定义电话、短信、钉钉报警通知
  2. 使用hello word写小说
  3. Redis 笔记(10)— 发布订阅模式(发布订阅单个信道、订阅信道后的返回值分类、发布订阅多个信道)
  4. 2022-2028年中国水处理分离膜行业市场现状调研及市场需求潜力报告
  5. SpringBoot (六) :SpringBoot定时器实现(简单入门)
  6. mysql engine innodb myisam 区别
  7. LeetCode简单题之学生出勤记录 I
  8. Hexo集成Valine实现评论留言
  9. Octave Convolution卷积
  10. 嵌入式Linux的OTA更新,基础知识和实现