日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > Android >内容正文

Android

android 子module混淆_Android 矢量图详解

發布時間:2024/9/15 Android 31 豆豆
生活随笔 收集整理的這篇文章主要介紹了 android 子module混淆_Android 矢量图详解 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

官方文檔

關于 Vector,在官方開發指南中介紹。本文章是由個人翻譯官方指南然后添加個人理解完成。

由于個人精力有限,多個渠道發布,排版上可能會有問題,如果影響查看,請移步 Android 開發者家園

Vector Drawables 概述

VectorDrawable 和 AnimatedVectorDrawable 是在 Android 5.0 系統中第一次加入,當然我們可以使用 Android 的支持庫,來支持舊的版本,通過 VectorDrawableCompat 和 AnimateVectorDrawableCompat 來實現。

VectorDrawble 是在 xml 文件中定義的矢量圖形。xml 文件中定義的矢量圖形,它是一組帶有顏色信息的點、線和曲線,使用矢量圖主要的優點是圖形可伸縮性。可以在不損失顯示質量的情況下進行縮放,這意味著我們可以在不同的屏幕密度的手機上使用相同的文件。這樣會使 APK 文件變小更加有利于開發人員維護。我們還可以通過多個 XML 文件和矢量圖結合用于動畫。

既然說起 VectorDrawable 了,那就不得不提 SVG (Scalable Vector Graphic)了,這兩個經?;煜?#xff0c;其實 SVG 就是一種基于可擴展語言(xml),用于描述二維矢量圖形的一種圖形格式(和我們常見的 .png 等等圖片一樣,都是一種圖片格式),它有自己的一套編寫規范(使用 XML 編寫的),所以這種圖片是根據他自己的一套規范通過 XML 語言編寫而成的圖片。而我們的 VectorDrawable 是編程中的,它僅支持 SVG 規范中有限的內容。Android Studio 支持將 SVG 文件轉換成 VectorDrawable 。這就是他們兩者的關系。

path 中的常用的簡單繪制命令

  • moveto 命令 M 移動到新的位置
  • closepath 命令 Z 封閉路徑,從當前的位置畫一條直線到該路徑或者子路徑起始位置
  • lineto 命令 L ,從當前的位置畫一條線到指定的位置
  • horizontal lineto 命令 H 水平畫一條直線到指定位置
  • vertical lineto 命令 V 垂直畫一條直線到指定位置
  • 貝塞爾曲線 命令 Q
  • 光滑二次貝塞爾曲線 命令 T
  • elliptical arc 命令 A 橢圓弧

每個命令都有大小寫的形式,大寫代表后面的參數是絕對坐標,小寫表示相對坐標(我們一般用大寫就可以了),參數之間用空格或者逗號隔開。所謂的相對坐標是相對于前面一個點的,比如:M30,0 l 10,10 換算成絕對坐標就是 M30,0 L40,10

命令使用實例

  • M(x y) 移動到坐標 x,y 處
  • Z 后面不接參數,直接連接起點和終點
  • L(x y)直線連接到坐標 x,y 處
  • H(x) 水平連接
  • V(y) 垂直連接
  • C(x1 y1 x2 y2 x y)控制點 x1,y1 x2,y2 終點坐標 x,y
  • Q(x1 y1 x y)控制帶點 x1,y1 終點坐標 x ,y;
  • A(rx,ry,x-axis-rotation,large-arc-flag,sweep-flag,x,y);
  • rx,ry 橢圓半徑
  • x-axis-rotation x 軸旋轉角度
  • large-arc-flag 為 0 的時候表示取小弧度,1 的時候取大弧度
  • sweep-flag 0 取逆時針方向,1 取順時針方向
  • (x,y) 是終點的坐標

VectorDrawable 如何定義

VectorDrawable 在 drawable 文件夾中通過 來定義,這里先來詳細的介紹一下 vector 中的各個屬性(和網上的許多不一樣,網上的大多都沒有自己驗證過)

vector 還支持 clip-path 元素,定義當前繪制的剪切路徑。注意:clip-path 只對當前的 group 和子 group 有效。需要 API 大于等于 21

offset說明.png

矢量動畫

利用 XML 文件來設置矢量動畫

  • 創建一個矢量圖
  • <?xml version="1.0" encoding="utf-8"?>

    head.png

    哈哈,樣子太丑了,大家就湊合著看把。

  • 在 drawble 創建矢量動畫
  • 目的就是將我們的矢量圖和 objectAnimator 關聯起來
  • <?xml version="1.0" encoding="utf-8"?>
  • 在 animator 中創建動畫
  • <?xml version="1.0" encoding="utf-8"?>
  • 布局文件中添加圖片
  • 在程序中啟動動畫
  • Drawable drawable = ivAndroid.getDrawable();((Animatable)drawable).start();

    效果圖

    效果圖.gif

    在 objectAnimator 的 propertyName 中有兩個很重要的屬性值,trimPathEndtrimPathStart 表示截取,和前面介紹的 path 里面的類似,利用這個可以繪制 vectordrawble。注意如果動畫使用這個兩個屬性值的話,animated-vector 中 target 對應的 name 必須是 path 類型不能是 group 效果圖:

    trimPathStart.gif

    SVG 圖片轉成 vectordrawble

    利用我們 Android Studio 提供的工具就可以將 SVG 格式的圖片直接轉成我們的 vectordrawble 了。

    svgtovector.png

    選擇圖片.png

    總結

    以上是生活随笔為你收集整理的android 子module混淆_Android 矢量图详解的全部內容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。

    主站蜘蛛池模板: av激情久久 | www.猫咪av | 亚洲综合精品国产 | 国产91美女视频 | 91艹| 18禁裸男晨勃露j毛免费观看 | 激情四射网 | 国产人妖在线视频 | 日本精品久久久久 | 国产刺激视频 | 91夫妻视频| 欧美干干| 国产人成无码视频在线观看 | 欧美一级大黄 | 午夜久久剧场 | 大地资源中文第三页 | 91原创国产 | 男人的天堂一级片 | 国产精品第二页 | 亚洲一区亚洲二区 | 黄色成人小视频 | 日韩欧美国产一区二区三区在线观看 | 超碰123| 涩av| 成人综合婷婷国产精品久久 | 久草美女| 精品国产视频 | 欧美88av| 91av导航 | 五月天黄色网 | 一区二区一级片 | 国产农村妇女aaaaa视频 | jizzjizz视频 | 欧美三级韩国三级日本三斤在线观看 | 日韩美女一区二区三区 | 欧美视频不卡 | 激情视频激情小说 | 国产一级片免费视频 | 黄色片网站国产 | 欧美日韩在线免费观看 | 久久久女人 | 天堂色区 | 午夜亚洲福利 | 欧美日韩久 | 桃花久久| 国产亚洲一区二区不卡 | 在线播放一区二区三区 | 97xxxx| 免费在线播放黄色片 | www.成人在线视频 | 国产乱欲视频 | 久久瑟瑟 | 亚洲黄色小说视频 | 成人午夜影院 | 网站免费视频www | 国产日韩精品一区二区三区在线 | 成人传媒 | 99久久久久久久久久 | 成人毛片软件 | 免费看片亚洲 | 国产亚洲av综合人人澡精品 | 日本免费一区视频 | 国产黄a三级三级看三级 | 午夜资源站 | 爱射网 | 牛牛精品视频 | 日韩av不卡在线观看 | 日本高清视频网站 | 久久久免费看片 | 成人亚洲电影 | 对白刺激国产子与伦 | 成人av国产 | 欧洲最强rapper网站直播 | 中文字幕在线观看亚洲 | 国产精品自产拍 | 奇米婷婷 | 亚洲成人经典 | 欧美久久久久久久久久久久久久 | 日本少妇在线 | 91九色视频在线观看 | 国产在线a | 性色AV无码久久一区二区三 | 特黄特色免费视频 | 日韩欧美在线视频 | 99国产精品一区二区三区 | 人妻一区二区三区 | xxxx在线视频 | 国产91白丝在一线播放 | 欧美一区二区三区四区视频 | 欧美一区免费看 | 亚洲三级视频在线观看 | 国产精品视频观看 | 一级黄色片在线看 | 欧美天天性 | 日韩成人av在线 | 中国免费一级片 | 99精品欧美| 国产看黄网站 | 91精品欧美一区二区三区 |