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

歡迎訪問 生活随笔!

生活随笔

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

Android

android 动态添加颜色,Android绘制一个三角形并且可动态改变颜色

發布時間:2024/9/27 Android 25 豆豆
生活随笔 收集整理的這篇文章主要介紹了 android 动态添加颜色,Android绘制一个三角形并且可动态改变颜色 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

方法一:

這種方法的三角形角度沒法控制,因為其實是矩形旋轉。

android:fromDegrees="45"

android:pivotX="135%"

android:pivotY="15%">

android:width="16dp"

android:height="16dp" />

然后將此xml設置為控件的background,在代碼中,如下使用:

LayerDrawable layerDrawable = (LayerDrawable) view.getBackground();

GradientDrawable drawable = (GradientDrawable)layerDrawable.getDrawable(0);

drawable.setColor(mainColor);

注意:當xml使用的是標簽,代碼中可直接

GradientDrawable drawable = (GradientDrawable)view.getBackground();

而當使用的是layer-list時,需要先使用LayerDrawable,然后要用第幾個item,就getDrawable(i); i為shape的順序

方法二:

使用SVG,android5.0以上開始支持SVG,也有兼容包支持以前的版本,或者使用第三方開源庫(svg-android,lottio)

使用方法就是DrawableCompat.setTint

關于SVG的生成與動畫,

VectorDrawableCompat vectorDrawableCompat = VectorDrawableCompat.create(getResources(), R.drawable.ic_home_black_24dp, getTheme());

//你需要改變的顏色

vectorDrawableCompat.setTint(getResources().getColor(R.color.color_blue));

YourImageView.setImageDrawable(vectorDrawableCompat)

方法三:

自定義View,Canvas繪制,這種比較自由,也最簡單,簡單的圖形還是用這個比較好。

protected void onDraw(Canvas canvas) {

super.onDraw(canvas);

Paint p = new Paint();

p.setColor(Color.BLACK);

//實例化路徑

Path path = new Path();

path.moveTo(80, 200);// 此點為多邊形的起點

path.lineTo(120, 250);

path.lineTo(80, 250);

path.close(); // 使這些點構成封閉的多邊形

canvas.drawPath(path, p);

}

然后在你的布局文件中直接使用,預覽沒有效果,需要先build一下工程。

參考鏈接:

Android 通過 shape 實現三角形氣泡效果

Android自定義控件提供顏色屬性動態改變控件顏色

Android svg 繪制三角形

代碼動態改變SVG矢量圖顏色

SVG-Android開源庫

Android 中使用 SVG 的一個坑

Android繪圖機制

總結

以上是生活随笔為你收集整理的android 动态添加颜色,Android绘制一个三角形并且可动态改变颜色的全部內容,希望文章能夠幫你解決所遇到的問題。

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