# TextDrawable **Repository Path**: hihopeorg/TextDrawable ## Basic Information - **Project Name**: TextDrawable - **Description**: No description available - **Primary Language**: Java - **License**: MIT - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2021-02-27 - **Last Updated**: 2021-10-12 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # TextDrawable **本项目是基于开源项目TextDrawable进行ohos的移植和开发的,可以通过项目标签以及github地址( https://github.com/amulyakhare/TextDrawable )追踪到原项目版本** #### 项目介绍 - 项目名称:TextDrawable - 所属系列:ohos的第三方组件适配移植 - 功能:支持圆形,矩形,圆角矩形,加边框,字体样式多种组合背景与文字并列展示 - 项目移植状态:完成 - 调用差异:无 - 项目作者和维护人:hihope - 联系方式: hihope@hoperun.com - 原项目Doc地址:https://github.com/amulyakhare/TextDrawable - 原项目基线版本:无releases版本 - 编程语言:Java - 外部库依赖: 无 #### 效果展示
#### 安装教程 ##### 方法1. 1. 下载依赖库har包textdrawable.har。 2. 启动 DevEco Studio,将下载的har包,导入工程目录“entry->libs”下。 3. 在moudle级别下的build.gradle文件中添加依赖,在dependences标签中增加对libs目录下har包的引用。 ``` dependencies { implementation fileTree(dir: 'libs', include: ['*.jar', '*.har']) …… } ``` 4. 在导入的har包上点击右键,选择“Add as Library”对包进行引用,选择需要引用的模块,并点击“OK”即引用成功。 ##### 方法2. 1. 在工程的build.gradle的allprojects中,添加HAR所在的Maven仓地址 ``` repositories { maven { url 'http://106.15.92.248:8081/repository/Releases/' } } ``` 2. 在应用模块的build.gradle的dependencies闭包中,添加如下代码: ``` dependencies { implementation 'com.amulyakhare.ohos:textdrawable:1.0.1' } ``` #### 使用说明 1. xml ``` ``` 2. 指定image的宽度/高度,element将自动缩放以适应大小。 ``` TextDrawable drawable = TextDrawable.builder() .buildRect("A", Color.RED); Image image = (Image) findComponentById(ResourceTable.Id_imageView); img.setBackground(drawable); img.addDrawTask(new Component.DrawTask() { @Override public void onDraw(Component component, Canvas canvas) { drawable.drawToCanvas(canvas); } }, Component.DrawTask.BETWEEN_CONTENT_AND_FOREGROUND); ``` 3.创建圆角或圆角矩形 ```java TextDrawable drawable1 = TextDrawable.builder() .buildRoundRect("A", Color.RED, 10); // radius in px TextDrawable drawable2 = TextDrawable.builder() .buildRound("A", Color.RED); ``` 4. 加边框: ```java TextDrawable drawable = TextDrawable.builder() .beginConfig() .withBorder(4) /* thickness in px */ .endConfig() .buildRoundRect("A", Color.RED, 10); ``` 5. 修改字体样式: ```java TextDrawable drawable = TextDrawable.builder() .beginConfig() .textColor(Color.BLACK) .useFont(Typeface.DEFAULT) .fontSize(30) /* size in px */ .bold() .toUpperCase() .endConfig() .buildRect("a", Color.RED) ``` 6. 内置颜色生产工具 ``` ColorGenerator generator = ColorGenerator.MATERIAL; // or use DEFAULT // generate random color int color1 = generator.getRandomColor(); // generate color based on a key (same key returns the same color), useful for list/grid views int color2 = generator.getColor("user@gmail.com") // declare the builder object once. TextDrawable.IBuilder builder = TextDrawable.builder() .beginConfig() .withBorder(4) .endConfig() .rect(); // reuse the builder specs to create multiple drawables TextDrawable ic1 = builder.build("A", color1); TextDrawable ic2 = builder.build("B", color2); ``` 7.指定宽度/高度 ``` xml java TextDrawable drawable = TextDrawable.builder() .beginConfig() .width(60) // width in px .height(60) // height in px .endConfig() .buildRect("A", Color.RED); Image image = (Image) findComponentById(ResourceTable.Id_imageView); img.setBackground(drawable); img.addDrawTask(new Component.DrawTask() { @Override public void onDraw(Component component, Canvas canvas) { drawable.drawToCanvas(canvas); } }, Component.DrawTask.BETWEEN_CONTENT_AND_FOREGROUND); ``` #### 版本迭代 - v1.0.1 #### 版权和许可信息 - MIT Licence