news 2026/9/3 2:09:51

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/9/2 9:18:10

程序员必备的 6 个效率神器:2025 年开源 AI 平台盘点

在 AI 功能正快速成为应用标配的今天&#xff0c;选择一个合适的开源平台能极大提升开发效率、避免重复造轮子。我整理了 6 款值得关注的开源项目&#xff0c;评选时主要看了这几个方面&#xff1a;功能是否完整、上手难易度、扩展性如何、社区是否活跃&#xff0c;以及商业项目…

作者头像 李华
网站建设 2026/9/2 22:06:39

小白也能看懂的RLHF-PPO:原理篇

原文: https://mp.weixin.qq.com/s/8O7W8–x14-b1d3M9IS_3w LLM-RL往期文章推荐 小白也能看懂的RL-PPO 收藏&#xff01;强化学习从入门到封神&#xff1a;5 本经典教材 8 大实战项目 7个免费视频&#xff0c;一站式搞定 小白也能看懂的RLHF&#xff1a;基础篇 在上一篇…

作者头像 李华
网站建设 2026/9/2 16:47:59

当AI成为你的生活搭档:让技术有温度地守护家庭

清晨六点&#xff0c;厨房的灯光自动亮起&#xff0c;恰到好处的亮度唤醒沉睡的身体&#xff1b;客厅的空气质量监测器悄悄启动新风系统&#xff0c;过滤掉夜间积聚的微尘&#xff1b;智能药盒准时响起轻柔提示&#xff0c;提醒母亲服用降压药。这不是科幻电影场景&#xff0c;…

作者头像 李华
网站建设 2026/9/2 22:09:56

cloudflare配合ikuai使用ipv6内网穿透

首先声明&#xff1a;文章是完全公开的&#xff0c;CSDN老是设置成VIP文章&#xff0c;我知道后都改回来了&#xff0c;也找不到客服怎么搞&#xff0c;坑。 感觉ipv6访问看自己家里的视频比ipv4快。所以就研究了两天终于把这个搞出来了。确实要比ipv4快。没有显卡硬解都感觉差…

作者头像 李华
网站建设 2026/9/2 10:48:53

华为ip-prefix

一. IP-Prefix的定义 IP-Prefix&#xff08;IP前缀列表&#xff09;是华为网络设备中用于精确匹配路由前缀的过滤工具。它通过前缀掩码范围的组合定义匹配规则&#xff0c;例如匹配192.168.1.0/24但排除192.168.1.0/26的子网。与传统ACL相比&#xff0c;其优势在于&#xff1a…

作者头像 李华