成人午夜视频全免费观看高清-秋霞福利视频一区二区三区-国产精品久久久久电影小说-亚洲不卡区三一区三区一区

android矩形圓角,安卓圖標(biāo)圓角規(guī)范

Android studio圓角矩形的布局如何設(shè)計(jì)?

你可以使用shape定義一個(gè)圓角矩形,并將其作為布局的背景即可。

網(wǎng)站建設(shè)哪家好,找創(chuàng)新互聯(lián)!專注于網(wǎng)頁(yè)設(shè)計(jì)、網(wǎng)站建設(shè)、微信開發(fā)、微信平臺(tái)小程序開發(fā)、集團(tuán)企業(yè)網(wǎng)站建設(shè)等服務(wù)項(xiàng)目。為回饋新老客戶創(chuàng)新互聯(lián)還提供了子長(zhǎng)免費(fèi)建站歡迎大家使用!

圓角矩形的shape代碼如下:

//定義四個(gè)圓角 文件名shape_round_corner

shape xmlns:android=""

solid android:color="#ff00" /

corners android:topLeftRadius="12dp"

android:topRightRadius="12dp"

android:bottomRightRadius="12dp"

android:bottomLeftRadius="12dp"/

stroke android:width="1dp" android:color="#ff0" /

/shape

設(shè)置背景代碼如下:

LinearLayout

android:layout_width="300dp"

android:layout_height="300dp"

android:layout_marginBottom="10dp"

android:layout_marginLeft="10dp"

android:layout_marginRight="10dp"

android:layout_marginTop="10dp"

android:alpha="0.8"

android:background="@drawable/shape_round_corner"

/LinearLayout

Android 圓角、圓形 ImageView 實(shí)現(xiàn)

我們要實(shí)現(xiàn)的圖片控件繼承自 AppCompatImageView ,它是 ImageView 的子類,但提供了更好的兼容性,我們?cè)诖嘶A(chǔ)上添加了若干自定義的屬性和方法以實(shí)現(xiàn)最終的 NiceImageView :

要實(shí)圓角或者圓形的顯示效果,就是對(duì)圖片顯示的內(nèi)容區(qū)域進(jìn)行“裁剪”,只顯示指定的區(qū)域即可。如何做呢?

一種比較直接的辦法是這樣的,由于圖片是被繪制在畫布上的,所以用 canvas 的 clipPath() 方法先將畫布裁剪成指定形狀,這樣就能讓圖片按指定形狀顯示了,重新 draw() 方法即可:

這樣使用 src 、 background 屬性給ImageView設(shè)置顯示的圖片都能達(dá)到預(yù)期的顯示效果。但是由于 clipPath() 方法不支持抗鋸齒,圖片邊緣會(huì)有明顯的毛糙感,體驗(yàn)并不理想,所以需要尋找其它方法。

另一種方法是使用圖像的 Alpha 合成模式 ,即

PorterDuff 來實(shí)現(xiàn), 官方文檔 。這里我們使用其中的 DST_IN 模式。整個(gè)過程就是先繪制目標(biāo)圖像,也就是圖片;再繪制原圖像,即一個(gè)圓角矩形或者圓形,這樣最終目標(biāo)圖像只顯示和原圖像重合的區(qū)域。

到這里就實(shí)現(xiàn)了顯示為圓角或者圓形了。但是需要通過 src 屬性或者對(duì)應(yīng)的方法來設(shè)置圖片,否則不能達(dá)到預(yù)期效果。

繪制邊框就相對(duì)容易理解了,只需要繪制一個(gè)指定樣式的圓角矩形或者圓形即可:

當(dāng)圖片顯示為圓形時(shí),還可以繪制一個(gè)內(nèi)邊框,但圓角矩形的話由于圓角大小的問題,目前只能設(shè)置一個(gè)邊框咯。

但是有個(gè)問題,繪制的邊框會(huì)覆蓋在圖片上,如果邊框太寬會(huì)導(dǎo)致圖片的可見區(qū)域變小了,影像顯示效果,像這樣,左下角的花盆不見了:

那么如何讓邊框不覆蓋在圖片上呢?可以在 Alpha 合成繪制前先將畫布縮小一定比例,最后再繪制邊框,這樣問題就解決了。

縮放后的ImageView顯示區(qū)域的寬高就是原寬、高分別減去2倍的邊框?qū)挾龋@樣縮小的比例也就顯而易見了。效果如下,左下角的花盆出來了:

遮罩可以理解為一層帶透明度的顏色,遮罩默認(rèn)不繪制,當(dāng)制定了遮罩顏色時(shí)才會(huì)繪制,實(shí)現(xiàn)很簡(jiǎn)單:

例如加一個(gè)透明度30%的紅色遮罩后的效果:

核心的實(shí)現(xiàn)邏輯就這些了,剩下的就是自定義屬性和方法了,有興趣的可以看源碼,都很簡(jiǎn)單,希望對(duì)你有所幫助吧!

更多細(xì)節(jié)及用法見GitHub:

如果你需要實(shí)現(xiàn)類似釘釘?shù)膱A形組合頭像,例如:

為什么Android 的App 圖標(biāo)慢慢的都開始使用圓角矩形

你說的大部分都是國(guó)產(chǎn)app吧,例如嗶哩嗶哩動(dòng)畫,雖然界面是符合Android Design 的,但是icon依然是iOS風(fēng)、不符合Android Design 的圓角矩形,不過他們大部分也都是被MIUI帶壞的=.=

關(guān)于icon的樣式,Android Design 的官方文檔有詳細(xì)的介紹,先上原文鏈接(Iconography | Android Developers)

Use a distinct silhouette. Three-dimensional, front view, with a slight perspective as if viewed from above, so that users perceive some depth.可以看出來,Google 對(duì)icon 有以下幾個(gè)要求:

輪廓鮮明(iOS app 的icon 就是一個(gè)反例)

要有立體感 (iOS 再次中槍)

像是從正面斜上一定角度看到的一樣,使之看上去有深度(iOS 已經(jīng)身亡)

綜上所述,一切使用圓角矩形圖標(biāo)的Android 應(yīng)用都是在耍流氓。

============================第二次打分割線=============================

關(guān)于Android 應(yīng)用圖標(biāo)的更多標(biāo)準(zhǔn),可以參照NovaDNG發(fā)表在鋒客網(wǎng)上的兩篇文章

? 如何設(shè)計(jì)符合 Android Design 的應(yīng)用圖標(biāo) 鋒客網(wǎng)

? 如何制作一個(gè)漂亮的 Android 應(yīng)用圖標(biāo) 鋒客網(wǎng)

android怎么畫圓角的矩形

如果你是在自定義view的onDraw方法中:

RectF?rectF?=?new?RectF(100?,100?,500?,500);//先畫一個(gè)矩形

Paint?paint?=?new?Paint(Paint.ANTI_ALIAS_FLAG);//創(chuàng)建畫筆

paint.setColor(R.color.colorAccent);//添加畫筆顏色

canvas.drawRoundRect(rectF?,?30?,30?,?paint);//根據(jù)提供的矩形為四個(gè)角畫弧線,(其中的數(shù)字:第一個(gè)表示X軸方向大小,第二個(gè)Y軸方向大小??梢愿某善渌?,你可以自己體驗(yàn)),最后添加畫筆。

如果你是在布局中直接添加,樓上已經(jīng)做出方法,我就不舉例了。

android繪制圓角矩形為什么圓角邊粗了

用shapedrawable畫一個(gè)圓角矩形作為按鈕的background,但是圓角的地方總是有點(diǎn)粗,和直接用xml做出來的背景不一樣

float[]

outerR = new float[] { 20f, 20f, 20f, 20f, 0, 0, 0, 0 };

Shape shape = new

RoundRectShape(outerR, null, null);

image.setBackgroundDrawable(new

CustomShapeDrawable(shape,0xffea0000));

class CustomShapeDrawable extends

ShapeDrawable {

int color ;

public CustomShapeDrawable(Shape s,int

color) {

super(s);

this.color =

color;

}

@Override

protected void onDraw(Shape shape, Canvas

canvas, Paint paint) {

paint.setStrokeJoin(Join.ROUND);

paint.setDither(true);

paint.setAntiAlias(true);

paint.setStyle(Style.STROKE);

paint.setColor(0xffea0000);

paint.setStrokeWidth(4f);

shape.draw(canvas, paint);

}

}

把paint.setStrokeJoin這行去掉再試試

網(wǎng)頁(yè)標(biāo)題:android矩形圓角,安卓圖標(biāo)圓角規(guī)范
本文路徑:http://jinyejixie.com/article10/dssdddo.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供用戶體驗(yàn)、品牌網(wǎng)站設(shè)計(jì)網(wǎng)站營(yíng)銷、品牌網(wǎng)站制作、手機(jī)網(wǎng)站建設(shè)網(wǎng)站改版

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)

成都app開發(fā)公司
安义县| 边坝县| 扎兰屯市| 页游| 阿克陶县| 额济纳旗| 额济纳旗| 西乌| 宣汉县| 合山市| 竹溪县| 上蔡县| 清流县| 会泽县| 德州市| 和硕县| 延津县| 车险| 成都市| 洪洞县| 双牌县| 阳原县| 微山县| 临桂县| 象州县| 九龙县| 阿图什市| 建宁县| 济源市| 开平市| 晴隆县| 开远市| 遂溪县| 大悟县| 新蔡县| 陆丰市| 剑河县| 常德市| 台州市| 灵石县| 汉阴县|