news 2026/2/7 12:57:22

shape: gradient angle 必须45整数倍

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
shape: gradient angle 必须45整数倍
<?xml version="1.0" encoding="utf-8"?><shapexmlns:android="http://schemas.android.com/apk/res/android"android:shape="rectangle"><gradientandroid:angle="270"android:endColor="#051d3e"android:startColor="#062a53"android:type="linear"/></shape>

一、你当前代码中每个参数的含义

<shapeandroid:shape="rectangle">

android:shape="rectangle"

  • 表示这是一个矩形 Shape
  • 可用于background/src/foreground

<gradientandroid:angle="45"android:startColor="#062a53"android:endColor="#051d3e"android:type="linear"android:useLevel="true"/>

1️⃣android:type="linear"

  • 渐变类型

  • 可选值:

    • linear(线性,最常用)
    • radial(径向)
    • sweep(扫描)

👉 你这里是线性渐变


2️⃣android:startColor

  • 渐变起点颜色
  • 出现在“渐变方向的起点”

3️⃣android:endColor

  • 渐变终点颜色
  • 出现在“渐变方向的终点”

4️⃣android:angle="45"(重点)

定义渐变方向(角度)

⚠️Android 的角度规则不是数学坐标系

官方规则(必须记住)👇
angle渐变方向
0左 → 右
90下 → 上
180右 → 左
270上 → 下
45左下 → 右上
135右下 → 左上
225右上 → 左下
315左上 → 右下

5️⃣android:useLevel="true"

⚠️这是一个高级属性

  • 仅在LevelListDrawable中才有意义
  • 表示颜色随level (0–10000)变化
  • 作为普通背景,应该设为false或直接删除

👉 你现在这个场景:不需要它


二、你现在的效果为什么不符合预期?

你当前是:

android:angle="45"

等价于:

左下 → 右上

但你期望的是:

左上浅色 → 右下深色

所以方向错了


三、正确实现:左上浅色 → 右下深色 ✅

✅ 正确 angle:315

<?xml version="1.0" encoding="utf-8"?><shapexmlns:android="http://schemas.android.com/apk/res/android"android:shape="rectangle"><gradientandroid:type="linear"android:angle="315"android:startColor="#062a53"<!--左上:浅色-->android:endColor="#051d3e"<!-- 右下:深色 -->android:useLevel="false" /></shape>

如果不写useLevel(推荐)

<gradientandroid:type="linear"android:angle="315"android:startColor="#062a53"android:endColor="#051d3e"/>

四、快速自检口诀(强烈建议记住)

想象一条箭头:

startColor → endColor

你要的是:

左上 → 右下

对应:

angle = 315

五、常见错误总结(你已经踩到一个)

错误后果
angle 用 45方向完全反
useLevel=true渐变可能异常
颜色写反看起来“怪”
不理解 angle调半天调不对

六、进阶建议(可选)

如果你后面还要:

  • 深色模式
  • 动态主题
  • 不同尺寸渐变比例

可以升级为:

  • MaterialShapeDrawable
  • Compose / Shader
版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/2/5 21:54:35

用Wan2.2-T2V-A14B生成高保真720P视频

用文字拍电影&#xff1a;Wan2.2-T2V-A14B 如何让想象跃然“屏”上 你有没有过这样的瞬间&#xff1f; 脑海中浮现出一幅画面&#xff1a;夕阳下&#xff0c;穿红裙的女孩在樱花雨中缓缓旋转&#xff0c;花瓣随风飘散&#xff0c;慢镜头捕捉她发丝扬起的弧度——美得像电影镜头…

作者头像 李华
网站建设 2026/2/5 2:31:30

高效测试用例设计的五大核心方法

测试用例设计是软件测试工程的核心环节&#xff0c;直接影响缺陷检出效率和产品质量评估可靠性。根据IEEE 610标准定义&#xff0c;测试用例应包含明确的输入数据、执行条件和预期结果三要素。在敏捷开发与DevOps普及的当下&#xff0c;掌握系统化的测试设计方法已成为测试工程…

作者头像 李华
网站建设 2026/1/31 18:40:14

Ascend C性能分析工具深度解析与算子瓶颈定位实战

目录 摘要 一、技术原理深度解析 1.1 &#x1f3d7;️ 架构设计理念&#xff1a;两段式性能采集体系 1.2 &#x1f50d; 核心算法实现&#xff1a;性能数据关联分析 1.3 &#x1f4ca; 性能特性分析&#xff1a;多维度指标体系 二、实战部分&#xff1a;完整工作流指南 …

作者头像 李华
网站建设 2026/1/29 14:19:52

windows批量启动exe的bat

echo off setlocal enabledelayedexpansion:: 切换到 UTF-8 模式&#xff0c;防止中文乱码 chcp 65001 >nulecho echo 程序状态检测工具 echo echo.:: ::在此处添加检测列表 :: call :CheckAndStart "D:\zcgk\env\Redis-x64-5.0.14.1\redis-server.exe":…

作者头像 李华
网站建设 2026/2/6 0:10:37

Fastapi打开swagger空白

原因&#xff1a;无法连接外部dns解决方法&#xff1a;在主入口引入fastapi_offline并用FastAPIOfflinefrom fastapi_offline import FastAPIOffline app FastAPIOffline()

作者头像 李华
网站建设 2026/2/7 1:23:18

Windows系统常见文件扩展名一览

Windows常见文件扩展名详解&#xff1a;从基础到AI时代的命名实践 在今天这个数字内容爆炸的时代&#xff0c;你有没有遇到过这样的情况&#xff1a;收到一个名为“会议纪要.txt”的文件&#xff0c;点开却发现是病毒&#xff1f;或者下载了一段AI生成的视频&#xff0c;却搞不…

作者头像 李华