小編給大家分享一下Android如何使用Shape制作單邊框圖,相信大部分人都還不怎么了解,因此分享這篇文章給大家參考一下,希望大家閱讀完這篇文章后大有收獲,下面讓我們一起去了解一下吧!
成都創(chuàng)新互聯(lián)專注于扎囊企業(yè)網(wǎng)站建設(shè),響應(yīng)式網(wǎng)站設(shè)計,電子商務(wù)商城網(wǎng)站建設(shè)。扎囊網(wǎng)站建設(shè)公司,為扎囊等地區(qū)提供建站服務(wù)。全流程按需網(wǎng)站策劃,專業(yè)設(shè)計,全程項目跟蹤,成都創(chuàng)新互聯(lián)專業(yè)和態(tài)度為您提供的服務(wù)開發(fā)中遇到單/多邊框的UI,簡單的可以自己寫shape圖,復(fù)雜的一般都讓設(shè)計配合制作9patch圖了。
今天不說需要切圖的情況,只聊簡單的單/多邊框,主要是實現(xiàn)思路。
效果很簡單:
就以上圖為例介紹,只有上邊框,邊框紅色、寬1dp,其余為白色。
思路一
兩層畫布疊加:底層紅色;上層白色;
上層白色畫布下移1dp。
代碼實現(xiàn):
<?xml version="1.0" encoding="utf-8"?> <layer-list xmlns:android="http://schemas.android.com/apk/res/android"> <!--下層畫布,紅色--> <item> <shape> <solid android:color="#f10606" /> </shape> </item> <!--下層畫布,白色,向下移1dp--> <item android:top="1dp"> <shape> <solid android:color="#ffffff" /> </shape> </item> </layer-list>
其中 <item>
標簽的 left
、 top
、 right
、 bottom
屬性可以理解為 view
的 marginXX
,這樣接下來的思路二也就順理成章了。
思路二
margin有正值,也有負值,所以...
兩層畫布:底層全部白色;上層只有紅色邊框,邊框?qū)挾?dp;
上層紅色邊框分別設(shè)置左、右、下margin為-1dp(這里只要負值大于邊框?qū)挾燃纯桑⑶冶仨毚笥谶吙驅(qū)挾龋?/p>
代碼實現(xiàn):
<?xml version="1.0" encoding="utf-8"?> <layer-list xmlns:android="http://schemas.android.com/apk/res/android"> <!--下層畫布,全白色--> <item> <shape> <solid android:color="#ffffff" /> </shape> </item> <!--上層畫布,紅色邊框,寬度1dp;左、右、下設(shè)置margin--> <item android:bottom="-1dp" android:left="-1dp" android:right="-1dp" android:top="0dp"> <shape> <stroke android:width="1dp" android:color="#f10606" /> </shape> </item> </layer-list>
單邊框就這樣了,同理,那二邊框、三邊框也就簡單了。
按需自取。
坑?
你以為到則里就結(jié)束了?圖樣圖森炮!
跑一下上邊思路二的代碼看看效果
神馬情況, stroke
里 width
的值和 item
里 left
等的值轉(zhuǎn)化為像素的比例還不一樣?并且不同手機分辨率效果也不同,分辨率越高越容易出現(xiàn)。
當然,思路二里把 item
里 left
等的負值絕對值設(shè)置比 width
大的多一些就闊以了;另外,思路一是沒這個問題的。
以上是“Android如何使用Shape制作單邊框圖”這篇文章的所有內(nèi)容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內(nèi)容對大家有所幫助,如果還想學(xué)習(xí)更多知識,歡迎關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道!
當前文章:Android如何使用Shape制作單邊框圖-創(chuàng)新互聯(lián)
文章鏈接:http://www.chinadenli.net/article16/dhchdg.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站制作、定制網(wǎng)站、手機網(wǎng)站建設(shè)、網(wǎng)站改版、網(wǎng)站設(shè)計公司、建站公司
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)
猜你還喜歡下面的內(nèi)容