android 自定義控制項——(一)圓角按鈕

来源:http://www.cnblogs.com/LOVEJIEYING/archive/2016/10/31/6016319.html
-Advertisement-
Play Games

矩形或圓角類型(源代碼下有屬性解釋) 一、shape 樣式:(在drawable新建--》new--》Drawable resource file 並把原父級標簽selector改為shape ) 矩形或圓角類型 android:shape屬性指定形狀 rectangle: 矩形,預設的形狀,可以畫 ...


 

 

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

 

 

一、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的屬性標簽-----------------------------------------

 


您的分享是我們最大的動力!

-Advertisement-
Play Games
更多相關文章
  • 目前開發只想最低版本支持iOS8了,iOS8以前的就不管了,然後現在iOS9和iOS10出來以後,有些新的API,也有些棄用的API,為了相容,有時候代碼裡面需要編寫判斷不同iOS版本,或者只允許指定的iOS版本才可以編譯或者執行。 需要用到以下方式,以下方式只針對OC(Swift的寫法暫時還不清楚 ...
  • 用戶點擊的時候的處理 ...
  • 白天在做SDK23版本的適配,遇到了不少坑,現在抽空記下來,以此為戒。 首先要知道哪些坑,就得先瞭解一些定義和基本使用方式。 那麼先介紹一下動態申請的許可權分組情況。 下麵的許可權組是由谷歌官方定義的,目的是在申請許可權時,只要用戶允許同一許可權組的任意一條許可權,那麼該組的其他許可權也就預設是允許的。不過據高 ...
  • 命令行1、啟動SDK Manager: android2、啟動DDMS:dams3、獲取當前運行的所有模擬器:adb devices4、安裝應用程式:adb install -r 應用程式.apk 卸載應用程式:adb uninstall 應用程式包名5、獲取模擬器中的文件:adb pull <re ...
  • 上一篇文章我對GCD的幾個基本概念做了介紹,但是大家看完了可能覺得對理解GCD並沒有什麼卵用。其實會用GCD其實很簡單,只要記住兩條就可以了。 1. 主隊列里的任務必須在非同步函數中執行。 主隊列里的任務如果在同步函數中執行,就會造成死鎖。什麼是死鎖?容我舉例來說明。 看到沒有,主隊列里的任務沒有執行 ...
  • ↓↓圓形進度條(源代碼下有屬性解釋)↓↓ 一、shape 樣式:(在drawable新建--》new--》Drawable resource file 並把原父級標簽selector改為shape ) ↑↑↑↑圓形進度條↑↑↑↑↑ ↓↓↓android:shape屬性指定形狀↓↓↓ rectangl ...
  • 轉載請標明出處:http://www.cnblogs.com/zhaoyanjun/p/6016341.html 本文出自 "【趙彥軍的博客】" 前言 ButterKnife 簡介 ButterKnife是一個專註於Android系統的View註入框架,可以減少大量的findViewById以及se ...
  • 因為是window電腦上運行的,所以測試的是安卓 1: 安裝jdk:jdk-8u45-windows-x64.exe 2: 配置JAVA的環境變數 在安卓的配置基礎上添加一個變數ANDROID_HOME,見圖 由於我電腦上本來就擁有安卓環境,所以配置很容易 3:安卓nodejs開發環境 首先在Nod ...
一周排行
    -Advertisement-
    Play Games
  • 移動開發(一):使用.NET MAUI開發第一個安卓APP 對於工作多年的C#程式員來說,近來想嘗試開發一款安卓APP,考慮了很久最終選擇使用.NET MAUI這個微軟官方的框架來嘗試體驗開發安卓APP,畢竟是使用Visual Studio開發工具,使用起來也比較的順手,結合微軟官方的教程進行了安卓 ...
  • 前言 QuestPDF 是一個開源 .NET 庫,用於生成 PDF 文檔。使用了C# Fluent API方式可簡化開發、減少錯誤並提高工作效率。利用它可以輕鬆生成 PDF 報告、發票、導出文件等。 項目介紹 QuestPDF 是一個革命性的開源 .NET 庫,它徹底改變了我們生成 PDF 文檔的方 ...
  • 項目地址 項目後端地址: https://github.com/ZyPLJ/ZYTteeHole 項目前端頁面地址: ZyPLJ/TreeHoleVue (github.com) https://github.com/ZyPLJ/TreeHoleVue 目前項目測試訪問地址: http://tree ...
  • 話不多說,直接開乾 一.下載 1.官方鏈接下載: https://www.microsoft.com/zh-cn/sql-server/sql-server-downloads 2.在下載目錄中找到下麵這個小的安裝包 SQL2022-SSEI-Dev.exe,運行開始下載SQL server; 二. ...
  • 前言 隨著物聯網(IoT)技術的迅猛發展,MQTT(消息隊列遙測傳輸)協議憑藉其輕量級和高效性,已成為眾多物聯網應用的首選通信標準。 MQTTnet 作為一個高性能的 .NET 開源庫,為 .NET 平臺上的 MQTT 客戶端與伺服器開發提供了強大的支持。 本文將全面介紹 MQTTnet 的核心功能 ...
  • Serilog支持多種接收器用於日誌存儲,增強器用於添加屬性,LogContext管理動態屬性,支持多種輸出格式包括純文本、JSON及ExpressionTemplate。還提供了自定義格式化選項,適用於不同需求。 ...
  • 目錄簡介獲取 HTML 文檔解析 HTML 文檔測試參考文章 簡介 動態內容網站使用 JavaScript 腳本動態檢索和渲染數據,爬取信息時需要模擬瀏覽器行為,否則獲取到的源碼基本是空的。 本文使用的爬取步驟如下: 使用 Selenium 獲取渲染後的 HTML 文檔 使用 HtmlAgility ...
  • 1.前言 什麼是熱更新 游戲或者軟體更新時,無需重新下載客戶端進行安裝,而是在應用程式啟動的情況下,在內部進行資源或者代碼更新 Unity目前常用熱更新解決方案 HybridCLR,Xlua,ILRuntime等 Unity目前常用資源管理解決方案 AssetBundles,Addressable, ...
  • 本文章主要是在C# ASP.NET Core Web API框架實現向手機發送驗證碼簡訊功能。這裡我選擇是一個互億無線簡訊驗證碼平臺,其實像阿裡雲,騰訊雲上面也可以。 首先我們先去 互億無線 https://www.ihuyi.com/api/sms.html 去註冊一個賬號 註冊完成賬號後,它會送 ...
  • 通過以下方式可以高效,並保證數據同步的可靠性 1.API設計 使用RESTful設計,確保API端點明確,並使用適當的HTTP方法(如POST用於創建,PUT用於更新)。 設計清晰的請求和響應模型,以確保客戶端能夠理解預期格式。 2.數據驗證 在伺服器端進行嚴格的數據驗證,確保接收到的數據符合預期格 ...