android 自訂控制項——(一)圓角按鈕,android圓角

來源:互聯網
上載者:User

android 自訂控制項——(一)圓角按鈕,android圓角

 

 

----------------------------------矩形或圓角類型(原始碼下有屬性解釋)-----------------------------------------------------

 

 

一、shape 樣式:(在drawable建立--》new--》Drawable resource file 並把原父級標籤selector改為shape )

 

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

<solid android:color="#4ec5ff" />
<padding
android:bottom="12dp"
android:left="12dp"
android:right="12dp"
android:top="12dp" />
<corners android:radius="10dp" />
<stroke
android:width="2dp"
android:color="#ffffff"
android:dashGap="270dp" />

</shape>
二、style 樣式:

 

<style name="rectangle">
<item name="android:layout_width">match_parent</item>
<item name="android:layout_height">wrap_content</item>
<item name="android:textSize">15sp</item>
<item name="android:textColor">#ffffff</item>
<item name="android:background">@drawable/buttonstyle</item>
</style>

三、Button控制項調用style樣式:

 

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:paddingBottom="@dimen/activity_vertical_margin"
android:paddingLeft="@dimen/activity_horizontal_margin"
android:paddingRight="@dimen/activity_horizontal_margin"
android:paddingTop="@dimen/activity_vertical_margin"
tools:context="com.example.ly.blogtest.MainActivity">

<Button
android:id="@+id/button"
style="@style/rectangle"
android:text="@string/btn1" />

 


 

</RelativeLayout>

 

----------------------------------矩形或圓角類型-----------------------------------------------------

 

----------------------------------android:shape屬性指定形狀------------------------------

 

 

  • rectangle: 矩形,預設的形狀,可以畫出直角矩形、圓角矩形、弧形等
  • oval: 橢圓形,用得比較多的是畫正圓
  • line: 線形,可以畫實線和虛線
  • ring: 環形,可以畫環形進度條

 

 

----------------------------------android:shape屬性指定形狀------------------------------

 

----------------------------------shape的屬性標籤-----------------------------------------

  <shape>
            <!-- 實心 -->
            <solid android:color="#ff9d77"/>
            <!-- 漸層 -->
            <gradient
                android:startColor="#ff8c00"
                android:endColor="#FFFFFF"
                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>

 

 

 

  • solid: 設定形狀填充的顏色,只有android:color一個屬性

    • android:color 填充的顏色
  • padding: 設定內容與形狀邊界的內間距,可分別設定左右上下的距離

    • android:left 左內間距
    • android:right 右內間距
    • android:top 上內間距
    • android:bottom 下內間距
  • gradient: 設定形狀的漸層顏色,可以是線性漸層、輻射漸層、掃描性漸層

    • android:type 漸層的類型
      • linear 線性漸層,預設的漸層類型
      • radial 放射漸層,設定該項時,android:gradientRadius也必須設定
      • sweep 掃描性漸層
    • android:startColor 漸層開始的顏色
    • android:endColor 漸層結束的顏色
    • android:centerColor 漸層中間的顏色
    • android:angle 漸層的角度,線性漸層時才有效,必須是45的倍數,0表示從左至右,90表示從下到上
    • android:centerX 漸層中心的相對X座標,放射漸層時才有效,在0.0到1.0之間,預設為0.5,表示在正中間
    • android:centerY 漸層中心的相對X座標,放射漸層時才有效,在0.0到1.0之間,預設為0.5,表示在正中間
    • android:gradientRadius 漸層的半徑,只有漸層類型為radial時才使用
    • android:useLevel 如果為true,則可在LevelListDrawable中使用
  • corners: 設定圓角,只適用於rectangle類型,可分別設定四個角不同半徑的圓角,當設定的圓角半徑很大時,比如200dp,就可變成弧形邊了

    • android:radius 圓角半徑,會被下面每個特定的圓角屬性重寫
    • android:topLeftRadius 左上方的半徑
    • android:topRightRadius 右上方的半徑
    • android:bottomLeftRadius 左下角的半徑
    • android:bottomRightRadius 右下角的半徑
  • stroke: 設定描邊,可描成實線或虛線。

    • android:color 描邊的顏色
    • android:width 描邊的寬度
    • android:dashWidth 設定虛線時的橫線長度
    • android:dashGap 設定虛線時的橫線之間的距離

 

----------------------------------shape的屬性標籤-----------------------------------------

 

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.