導航:首頁 > 操作系統 > android填充顏色漸變

android填充顏色漸變

發布時間:2023-08-26 01:42:12

⑴ 怎麼在android上面做出根據形狀來漸變的效果

您好,希望以下回答能幫助您
這個是輸出一層顏色漸變的效果,而你的是多層的,做法一樣,弄幾個小的的三角形同樣的畫法畫到上面。而顏色的值是不可能是線性的值,你只能自己定義每層三角形的顏色,這個是你要做的。

這個我直接用NDK自帶的HELLO-GL2給你弄的,就設置下三角形頂點和改了shader部分的代碼而已。

原理很簡單,設置5個頂點,第一個頂點為三角形中心頂點坐標,其他四的坐標為,三角形三個頂點坐標,其中第2和第5個頂點一樣。繪制三角形的時候使用扇形繪制。

中間頂點一個顏色,其他4個頂點為另一個顏色。

多層漸變就加幾個小點的三角形然後將顏色設置好覆蓋上去。
如您還有疑問可繼續追問。

⑵ Android TextView 漸變色

簡單的實現方式:

/**

* 設置TextView 的顏色漸變

*/

public void setTextViewStyles(TextView text) {

            // LinearGradient  前四個參修改可以有不同的方向哦

            LinearGradient mLinearGradient =new LinearGradient(0, 0, 0,

            text.getPaint().getTextSize(), Color.parseColor("#FFD800"),

            Color.parseColor("#FFC107"), Shader.TileMode.CLAMP);

            text.getPaint().setShader(mLinearGradient);

            text.invalidate();

}

寫在最後: 方式有很多種, 我就不一一列舉啦~  謝謝 

⑶ android 里用shape畫圓,怎麼填充顏色

Android裡面使用shape設置控制項的外形,例如一些圓角、填充的背景顏色、以及一些漸變的效果等,所以設置填充顏色,可通過設置shape.xml文件里的如下屬性:

<solidandroid:color="@color/common_red"/>

將shape文件放到android的button、textview組件上,就可以有填充背景顏色的效果,完整的代碼如下:

1.shape.xml

<?xmlversion="1.0"encoding="UTF-8"?>
<shape
xmlns:android="http://schemas.android.com/apk/res/android"
android:shape="oval"
android:useLevel="false">
<solidandroid:color="@color/common_red"/>
<padding
android:left="2dp"
android:top="1dp"
android:right="2dp"
android:bottom="1dp"/>
<solid
android:color="@color/common_red"/>
<stroke
android:width="1dp"
android:color="@android:color/white"/>
<sizeandroid:width="15dp"
android:height="15dp"/>
</shape>


2.把以上代碼添加到drawable裡面、通過background引用就可以了

<TextView
android:id="@id/message_category_unread_count"
style="@style/comm_text_style_14_aaaaaa"
android:layout_marginLeft="70dp"
android:layout_marginTop="5dp"
android:background="@drawable/shape"
android:gravity="center"
android:textSize="@dimen/text_size_comment_20"
android:text="7"
android:textColor="@android:color/white"/>

效果如下圖:

⑷ Android View — Gradient 漸變

Android 支持三種顏色漸變, LinearGradient(線性漸變) RadialGradient (徑向漸變) SweepGradient(掃描漸變)。這三種漸變繼承自android.graphics.Shader, Paint 類通過setShader支持漸變。

線性漸變就是在線性方向的的漸變。有兩個構造函數,

第二種 構造函數是第一種的簡化版,只支持兩種顏色。

RadialGradient 是圓環一樣的的漸變,RadialGradient 同樣是兩個構造函數,

1.float centerX, float centerY 漸變的中心點 圓心
2.float radius 漸變的半徑
3.int[] colors 漸變顏色數組
4.float[] stops 和顏色數組對應, 每種顏色在漸變方向上所佔的百分比取值[0, 1]
5.Shader.TileMode tileMode 表示繪制完成,還有剩餘空間的話的繪制模式。

1.float centerX, float centerY 漸變的中心點 圓心
2.float radius 漸變的半徑
3.int centerColor, int edgeColor 中心點顏色和邊緣顏色
4.Shader.TileMode tileMode 表示繪制完成,還有剩餘空間的話的繪制模式

SweepGradient 是和角度有關的漸變。以某一點為圓心,隨著角度的大小發生漸變。

1.float cx, float cy 中心點坐標
2.int[] colors 顏色數組
3.float[] positions 數組顏色在漸變方向上所佔的百分比

1.float cx, float cy 中心點坐標
2.int color0, int color1 開始顏色 結束顏色

在LinearGradient RadialGradient 漸變中,構造函數的最後一個參數為 Shader.TileMode 類型,決定了如果View還有剩餘空間,如何繪制。

從上到下依次為:CLAMP REPEAT MIRROR

從上到下依次為:CLAMP REPEAT MIRROR

一些背景的漸變通過定義 Shape Drawable 來實現。Shape Drawable 有gradient 屬性。

⑸ Android繪圖之RadialGradient 放射漸變(11)

LinearGradient 和 SweepGradient,這次講解RadialGradient;
RadialGradient被稱為放射漸變,就是從中心向外圓形漸變。
兩個構造函數,第一個構造函數可以實現兩種顏色的漸變,第二個構造函數可以實現多個顏色的漸變。

參數說明:
centerX ,centerY:shader的中心坐標,開始漸變的坐標。
radius:漸變的半徑,
centerColor,edgeColor:中心點漸變顏色,邊界的漸變顏色,
colors:漸變顏色數組,
stoops:漸變位置數組,類似掃描漸變的positions數組,取值[0,1],中心點為0,半徑到達位置為1.0f,
tileMode:shader未覆蓋以外的填充模式。

構造函數:
RadialGradient(float centerX, float centerY, float radius, @ColorInt int centerColor, @ColorInt int edgeColor, @NonNull TileMode tileMode);

提供中心坐標,半徑,顏色值,TileMode

Stops數組取值為[0-1],一般為從小到大,表示每個位置對應的顏色值,如果stops不為null,colors必須和stops一一對應,否則可能導致崩潰,如果stops為null,各顏色從中心到邊界線性漸變。

stops數組為null,四種顏色線性漸變:

stops數組不為null:

如果數組多餘顏色個數:

大致做個小例子,如果需要線上使用需要考慮很多問題,類似ondraw最好不要聲明對象等:

替換為多顏色 private int[] colors = {Color.YELLOW, Color.RED, Color.BLUE, Color.GREEN};

android繪圖之Paint(1)
android繪圖之Canvas基礎(2)
Android繪圖之Path(3)
Android繪圖之drawText繪制文本相關(4)
Android繪圖之Canvas概念理解(5)
Android繪圖之Canvas變換(6)
Android繪圖之Canvas狀態保存和恢復(7)
Android繪圖之PathEffect (8)
Android繪圖之LinearGradient線性漸變(9)
Android繪圖之SweepGradient(10)
Android繪圖之RadialGradient 放射漸變(11)
Android繪制之BitmapShader(12)
Android繪圖之ComposeShader,PorterDuff.mode及Xfermode(13)
Android繪圖之drawText,getTextBounds,measureText,FontMetrics,基線(14)
Android繪圖之貝塞爾曲線簡介(15)
Android繪圖之PathMeasure(16)
Android 動態修改漸變 GradientDrawable

⑹ android顏色漸變如何實現從四周往中心漸變 或者從中心往四周漸變 都行,不是 從左往右

android 顏色漸變是指通知xml或者java代碼,設置相關參數,是界面的某個指定的視圖顯示成從開始位置的顏色,逐漸過度到結尾位置的顏色的技術。

android顏色漸變的分類有:

LinearGradient線性漸變

RadialGradient鏡像漸變

SweepGradient角度漸變


一、LinearGradient線性漸變
顧名思義,是只顏色在一個直線方向上逐漸改變。

文件代碼:

<?xmlversion="1.0"encoding="utf-8"?>
<shapexmlns:android="http://schemas.android.com/apk/res/android"
android:shape="oval">

<gradient
android:endColor="#0000FF"
android:startColor="#FF0000"
android:type="linear"/>

</shape>

效果:

⑺ android控制項背景顏色動態隨機漸變

這個你只能使用shape來完成。因為是點擊後隨機變,不能使用xml寫死的那種,你得用java代碼來生成和配置GradientDrawable,設置不同的color.如果不會用,可以參照:

閱讀全文

與android填充顏色漸變相關的資料

熱點內容
php怎麼轉換頁面 瀏覽:546
我的世界買了伺服器之後怎麼開服 瀏覽:828
r1234yf汽車空調壓縮機 瀏覽:145
ftp伺服器地址欄 瀏覽:898
linux圖形分區 瀏覽:963
安徽到遼寧源碼 瀏覽:577
libs安卓的文件夾叫什麼 瀏覽:871
生意圈app是什麼意思 瀏覽:395
linuxarcgisserver 瀏覽:234
加密pdf怎麼修改文件 瀏覽:138
紅米刷機無命令怎麼辦 瀏覽:356
啥叫美國谷歌外包程序員 瀏覽:260
雲伺服器管家婆 瀏覽:440
發郵件命令 瀏覽:354
程序員好做嗎工作好嗎 瀏覽:886
雲電腦伺服器維護一個月多少錢 瀏覽:882
有沒有什麼app數學題型較多 瀏覽:341
政策pdf 瀏覽:295
有什麼好玩的文娛app 瀏覽:811
python教學合集 瀏覽:959