1. 程式人生 > >Android UI---自定義形狀shape

Android UI---自定義形狀shape

1、在res/drawable目錄下建立一個shape.xml

<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android" >

    <solid android:color="#ffffffff" />

    <corners android:radius="10dp" />

    <padding
        android:bottom="10dp"
        android:left="5dp"
        android:right="5dp"
        android:top="5dp" />

    <stroke
        android:width="2dp"
        android:color="#ff00bbe8" >
    </stroke>

</shape>

2、在需要的地方呼叫:
<EditText
        android:id="@+id/mText"
        android:layout_width="fill_parent"
        android:layout_height="100px"
        android:background="@drawable/shape" 
        android:textColor="#aa000000"
        android:textSize="20dp"
        android:gravity="top"
        android:layout_margin="3dp"
        android:paddingLeft="10dp"
        android:paddingRight="10dp"/>

3、看下效果圖:

4、關於shape的其他屬性:

shape與selector綜合使用

button_selector.xml:
<?xml version="1.0" encoding="utf-8"?>
<selector
    xmlns:android="http://schemas.android.com/apk/res/android">
    <item android:state_pressed="true" >
        <shape>
            <!-- 漸變 -->
            <gradient
                android:startColor="#ff8c00"
                android:endColor="#FFFFFF"
                android:type="radial"
                android:gradientRadius="50" />
            <!-- 描邊 -->
            <stroke
                android:width="2dp"
                android:color="#dcdcdc"
                android:dashWidth="5dp"
                android:dashGap="3dp" />
            <!-- 圓角 -->
            <corners
                android:radius="2dp" />
            <padding
                android:left="10dp"
                android:top="10dp"
                android:right="10dp"
                android:bottom="10dp" />
        </shape>
    </item>

    <item android:state_focused="true" >
        <shape>
            <gradient
                android:startColor="#ffc2b7"
                android:endColor="#ffc2b7"
                android:angle="270" />
            <stroke
                android:width="2dp"
                android:color="#dcdcdc" />
            <corners
                android:radius="2dp" />
            <padding
                android:left="10dp"
                android:top="10dp"
                android:right="10dp"
                android:bottom="10dp" />
        </shape>
    </item>

    <item>      
        <shape>
            <solid android:color="#ff9d77"/>
            <stroke
                android:width="2dp"
                android:color="#fad3cf" />
            <corners
                android:topRightRadius="5dp"
                android:bottomLeftRadius="5dp"
                android:topLeftRadius="0dp"
                android:bottomRightRadius="0dp"
            />
            <padding
                android:left="10dp"
                android:top="10dp"
                android:right="10dp"
                android:bottom="10dp" />
        </shape>
    </item>
</selector>

solid:實心,就是填充的意思android:color指定填充的顏色

gradient:漸變
android:startColor和android:endColor分別為起始和結束顏色,ndroid:angle是漸變角度,必須為45的整數倍
另外漸變預設的模式為android:type="linear",即線性漸變,可以指定漸變為徑向漸變,android:type="radial",徑向漸變需要指定半徑android:gradientRadius="50"。

stroke:描邊
android:width="2dp" 描邊的寬度,android:color 描邊的顏色。
我們還可以把描邊弄成虛線的形式,設定方式為:
android:dashWidth="5dp"
android:dashGap="3dp"
其中android:dashWidth表示'-'這樣一個橫線的寬度,android:dashGap表示之間隔開的距離。

corners:圓角
android:radius為角的弧度,值越大角越圓。
我們還可以把四個角設定成不同的角度,方法為:
<corners
        android:topRightRadius="20dp"    右上角
        android:bottomLeftRadius="20dp"    右下角
        android:topLeftRadius="1dp"    左上角
        android:bottomRightRadius="0dp"    左下角
 />

padding:間隔


相關推薦

Android UI---定義形狀shape

1、在res/drawable目錄下建立一個shape.xml <?xml version="1.0" encoding="utf-8"?> <shape xmlns:android="http://schemas.android.com/apk/res/

Android UI-定義日曆控制元件

分享一下我老師大神的人工智慧教程!零基礎,通俗易懂!http://blog.csdn.net/jiangjunshow 也歡迎大家轉載本篇文章。分享知識,造福人民,實現我們中華民族偉大復興!        

Android UI 定義ListView 實現下拉重新整理 載入更多

分享一下我老師大神的人工智慧教程!零基礎,通俗易懂!http://blog.csdn.net/jiangjunshow 也歡迎大家轉載本篇文章。分享知識,造福人民,實現我們中華民族偉大復興!        

Android項目實戰(九):CustomShapeImageView 定義形狀的ImageView

重點 clas home 項目開發 logs clip com html days 原文:Android項目實戰(九):CustomShapeImageView 自定義形狀的ImageView一個兩年前出來的第三方類庫,具有不限於圓形ImageView的多種形狀ImageV

Android定義view - shape

空心圓 <?xml version="1.0" encoding="utf-8"?> <shape xmlns:android="http://schemas.android.com/apk/res/android" android:shape="o

Shape Up(定義形狀建立工具)After Effects外掛

Shape Up(自定義形狀建立工具)After Effects外掛   Shape Up(自定義形狀建立工具)是一款在After Effects中執行的ae外掛,在建立形狀圖層並將其新增到合成中之前。它建立“乾淨”的形狀,AE的原生引數形狀或使用自定義路徑的形狀(不使用合併路徑)

Android定義TextView的形狀

基本步驟: 在drawable資料夾下建立一個shape.xmlshape.xml: <?xml version="1.0" encoding="utf-8"?> <shape xm

Android RatingBar 定義樣式

android style Android RatingBar 自定義樣式1.先定義Style:<style name="RadingStyle" parent="@android:style/Widget.RatingBar"> <!-- 定義星星圖片 -->

Android Gradle 定義任務執行命令行

andro blog tasks type mman 執行 adl col command tasks.create("name": "testAssemble", "type": Exec) { workingDir "../" commandLin

Android PullToRrefresh 定義下拉刷新動畫 (listview、scrollview等)

appear ram nal ima cas 創建 protect tom inter PullToRefreshScrollView 自定義下拉刷新動畫,只需改一處。 以下部分轉載自http://blog.csdn.net/superjunjin/article/

Android studio 定義打包apk名

roi fault targe test 包名 如果 nts time css Android Studio打包應用默認生成的apk名稱是:app-release.apk 、如果我們要讓生成的apk名跟我們版本包名有聯系的話,那我們就要自定義生成的apk名了 需要在bui

Android Gradle 定義Task 詳解

png 發布 我們 批處理 使用總結 實用 shift fonts 博客 轉載請標明出處:http://blog.csdn.net/zhaoyanjun6/article/details/76408024 本文出自【趙彥軍的博客】 一:Gradle 是什麽 Gradl

Android筆記--定義控件仿遙控器的圓形上下左右OK圓盤按鈕

分享圖片 https click cas tween .com show idc rotate 原文:Android筆記--自定義控件仿遙控器的圓形上下左右OK圓盤按鈕 上

android定義的dialog中的EditText無法彈出輸入法解決方案

dialog.getWindow().clearFlags(WindowManager.LayoutParams.FLAG_ALT_FOCUSABLE_IM);//彈出輸入法,並且寫在show()方法之後。 解決Dialog 消失,輸入法不消失的問題: 參考:https://blog.csd

【工具篇】Android studio 定義註釋快速生成

前言 團隊協作中,儘量保證各自程式碼自己維護。這樣既能保證程式碼編寫者在邏輯上的一慣性,也能避免修改不熟悉的程式碼而引起bug問題。但即使是這樣的規避,也依然無法避免程式設計師之間程式碼的混合。所以,針對在一個類中,產出幾個人同時需要添注的程式碼。最好能做程式碼註釋的區分。這樣為長時間後的程式碼

Android開發-定義Dialog

下面是效果圖 定義一個MyDialog.java工具類繼承Dialog類 具體程式碼如下: /** * Created by WW on 2018/9/12. */ public abstract class MyDialog extends Dialog{ pr

android實現定義相機效果

樓主在進行android開發時用到了自定義攝像頭拍照並將所拍攝的照片轉化成二進位制流輸出這一功能(當然程式裡也附帶將圖片儲存在sd卡里的功能),花了好多天的時間查了很多資料最後終於把它給搞出來了。。。 來~~~直接上圖~~~ 首先先搞出界面佈局來 <?xml version=

Android定義EditText游標和下劃線顏色

最近在寫些小Demo複習基礎,在用到EditText的時候突然發現之前幾乎沒有注意到它的游標和下劃線的顏色,於是花了不少時間,看了不少部落格,現在就來總結和分享一下收穫。 1、第一印象:原生的EditText 我們要在原生的EditText上修改,首先當然要認識一下它的本來面目。在Andro

android基礎--定義圖片剪輯頭像

裁剪介面效果圖 點選相簿後返回的圖片效果圖 主控制類程式碼,如下: 10 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 4

android textiew定義ClickableSpan無效問題

pre col pri andro method [] 一個數 buffer selection 我們有個需求,需要將一段文本中的url跳轉,替換成跳轉我們app的某個頁面。然後就開始搞,先自定義clickspan,在設置LinkMovementMethoid, 但是不管