shape和selector和layer-list的(詳細說明)
原文地址:http://blog.csdn.net/brokge/article/details/9713041
shape和selector是Android UI設計中經常用到的,比如我們要自定義一個圓角Button,點選Button有些效果的變化,就要用到shape和selector。可以這樣說,shape和selector在美化控制元件中的作用是至關重要的。
1.Shape
作用:XML中定義的幾何形狀
位置:res/drawable/檔案的名稱.xml
使用的方法:
Java程式碼中:R.drawable.檔案的名稱
XML中:Android:background="@drawable/檔案的名稱"
屬性:
2.Selector<shape> Android:shape=["rectangle" | "oval" | "line" | "ring"]
其中rectagle矩形,oval橢圓,line水平直線,ring環形
<shape>中子節點的常用屬性:
<gradient> 漸變
Android:startColor 起始顏色
Android:endColor 結束顏色
Android:angle 漸變角度,0從上到下,90表示從左到右,數值為45的整數倍預設為0;
Android:type 漸變的樣式 liner線性漸變 radial環形漸變 sweep
<solid > 填充
Android:color 填充的顏色
<stroke > 描邊
Android:width 描邊的寬度
Android:color 描邊的顏色
Android:dashWidth 表示'-'橫線的寬度
Android:dashGap 表示'-'橫線之間的距離
<corners > 圓角
Android:radius 圓角的半徑 值越大角越圓
Android:topRightRadius 右上圓角半徑
Android:bottomLeftRadius 右下圓角角半徑
Android:topLeftRadius 左上圓角半徑
Android:bottomRightRadius 左下圓角半徑
<padding >填充
android:bottom="1.0dip" 底部填充
android:left="1.0dip" 左邊填充
android:right="1.0dip" 右邊填充
android:top="0.0dip" 上面填充
簡介
使用的方法:根據不同的選定狀態來定義不同的現實效果
分為四大屬性:
android:state_selected是選中
android:state_focused是獲得焦點
android:state_pressed是點選
android:state_enabled是設定是否響應事件,指所有事件
android:state_window_focused預設時的背景圖片
引用位置:res/drawable/檔案的名稱.xml
Java程式碼中:R.drawable.檔案的名稱
XML中:Android:background="@drawable/檔案的名稱"
- <?xmlversion="1.0"encoding="utf-8"?>
- <selectorxmlns:Android="http://schemas.android.com/apk/res/android">
- <!-- 預設時的背景圖片-->
- <itemAndroid:drawable="@drawable/pic1"/>
- <!-- 沒有焦點時的背景圖片 -->
- <item
- Android:state_window_focused="false"
- android:drawable="@drawable/pic_blue"
- />
- <!-- 非觸控模式下獲得焦點並單擊時的背景圖片 -->
- <item
- Android:state_focused="true"
- android:state_pressed="true"
- android:drawable= "@drawable/pic_red"
- />
- <!-- 觸控模式下單擊時的背景圖片-->
- <item
- Android:state_focused="false"
- Android:state_pressed="true"
- Android:drawable="@drawable/pic_pink"
- />
- <!--選中時的圖片背景-->
- <item
- Android:state_selected="true"
- android:drawable="@drawable/pic_orange"
- />
- <!--獲得焦點時的圖片背景-->
- <item
- Android:state_focused="true"
- Android:drawable="@drawable/pic_green"
- />
- </selector>
3.layer-list
簡介:將多個圖片或上面兩種效果按照順序層疊起來
例子:
- <?xmlversion="1.0"encoding="UTF-8"?>
- <layer-list
- xmlns:android="http://schemas.android.com/apk/res/android">
- <!--圖片1-->
- <itemandroid:id="@+id/user_faceback_drawable"
- android:drawable="@drawable/faceback"/>
- <!--圖片2-->
- <itemandroid:id="@+id/user_face_drawable"
- android:drawable="@drawable/h001"
- android:left="10.0dip"
- android:top="18.0dip"
- android:right="25.0dip"
- android:bottom="35.0dip"/>
- </layer-list>
- <!--2個圖片的疊加-->
效果圖:
+=
以上三個標籤可以揉合到一塊兒來使用,所要實現的效果就是上面三種簡介的說明,比如下面這個例子:
- <selectorxmlns:android="http://schemas.android.com/apk/res/android">
- <itemandroid:state_pressed="true"><layer-list>
- <itemandroid:bottom="8.0dip"><shape>
- <solidandroid:color="#ffaaaaaa"/>
- </shape></item>
- <item><shape>
- <cornersandroid:bottomLeftRadius="4.0dip"android:bottomRightRadius="4.0dip"android:topLeftRadius="1.0dip"android:topRightRadius="1.0dip"/>
- <solidandroid:color="#ffaaaaaa"/>
- <paddingandroid:bottom="1.0dip"android:left="1.0dip"android:right="1.0dip"android:top="0.0dip"/>
- </shape></item>
- <item><shape>
- <cornersandroid:bottomLeftRadius="3.0dip"android:bottomRightRadius="3.0dip"android:topLeftRadius="1.0dip"android:topRightRadius="1.0dip"/>
- <solidandroid:color="@color/setting_item_bgcolor_press"/>
- </shape></item>
- </layer-list></item>
- <item><layer-list>
- <itemandroid:bottom="8.0dip"><shape>
- <solidandroid:color="#ffaaaaaa"/>
- </shape></item>
- <item><shape>
- <cornersandroid:bottomLeftRadius="4.0dip"android:bottomRightRadius="4.0dip"android:topLeftRadius="1.0dip"android:topRightRadius="1.0dip"/>
- <solidandroid:color="#ffaaaaaa"/>
-
<padding
相關推薦
(Android UI)shape、selector以及layer-list
hape和selector是Android UI設計中經常用到的,比如我們要自定義一個圓角Button,點選Button有些效果的變化,就要用到shape和selector。可以這樣說,shape和selector在美化控制元件中的作用是至關重要的。 1.Shape
Android開發:shape和selector和layer-list的(詳細說明)
<shape>和<selector>在Android UI設計中經常用到。比如我們要自定義一個圓角Button,點選Button有些效果的變化,就要用到<shape>和<selector>。可以這樣說,<shap
shape和selector和layer-list的(詳細說明)
原文地址:http://blog.csdn.net/brokge/article/details/9713041 shape和selector是Android UI設計中經常用到的,比如我們要自定義一個圓角Button,點選Button有些效果的變化,就要用到shap
Android Drawable資源中selector、layer-list和shape標籤詳解
在實際開發中,我們經常會對控制元件的樣式進行一些修改已滿足我們的要求,這時候就會引用 Drawable 資源的樣式檔案。 1、StateListDrawable 資源 StateListDrawable 用於組織多個 Drawable 物件。當使用 Stat
mysql5.7:mysql安裝和基於SSL加密的主從復制(詳細剖析)
mysql ssl db 數據 加密傳輸 小生博客:http://xsboke.blog.51cto.com 小生 Q Q:1770058260 -------謝謝您的參考,如有疑問,歡迎交流目錄:--------my
線程和進程的區別(詳細)
最有 cpu調度 權限 sig 結束 們的 時間 自己 大於 1、線程的基本概念 概念:線程是進程中執行運算的最小單位,是進程中的一個實體,是被系統獨立調度和分派的基本單位,線程自己不擁有系統資源,只擁有一點在運行中必不可少的資源,但它可與同屬一個進程的其它線程共享
總結下List和Map遍歷方式(日常總結)
一.Map public static void main(String[] args) { Map<Integer, Integer> map = new HashMap<>(); map.put(1, 2);
centos 7 linux系統預設ftp安裝配置和部署(詳細講解)
轉載自:https://www.cnblogs.com/mujingyu/p/7677273.html 小生接觸 Linux 系統時間不長,想解決linux系統ftp安裝及部署問題,折騰了大半天,終於弄出來了,將各路 高手的配置方法綜合了一下,如有不對之處,歡迎各位看客指正,感謝! 一、
linux下單節點和叢集安裝zookeeper(詳細步驟)
單節點安裝zookeeper 1、解壓zookeeper檔案 將下載到的zookeeper-3.4.6.tar.gz安裝檔案上傳到伺服器的/home目錄,解壓後進入根目錄建立data資料夾和logs資料夾 cd /usr/local
關於map巢狀map和map巢狀list(轉載https://blog.csdn.net/mustbehard/article/details/17310043)
import java.util.ArrayList; import java.util.HashMap; import java.util.Iterator; import java.util.List; import java.util.Map; import java.util.Set;
【Linux】centos 7 linux系統預設ftp安裝配置和部署(詳細講解)
小生接觸 Linux 系統時間不長,想解決linux系統ftp安裝及部署問題,折騰了大半天,終於弄出來了,將各路 高手的配置方法綜合了一下,如有不對之處,歡迎各位看客指正,感謝! 一、宣告: 本文采用作業系統版本: Centos 7 Linux系統 版本源:C
power designer16.5 連線資料庫以及 Could not Initialize JavaVM! 和SQLSTATE = IM014錯誤的解決(詳細圖文)
最近使用 power designer 時遇見了好多問題,下面分兩個方面說明。。。 首先使用power designer 怎麼連線資料庫的表等資料: 這裡面我MySQL資料庫來說: 新建一個物理模型:File —— New Model,選擇如下: 新建完成後工作空間已經有了
pandas21 讀csv檔案read_csv(12.迭代和塊)(詳細 tcy)
例項-迭代2018/12/26 # 希望遍歷大檔案而不將整個檔案讀入記憶體指定chunksize逐塊讀取文字檔案 # read_csv或read_table返回值型別是可迭代物件TextFileReader # 指定iterator=True也將返回TextFileReader物件
pandas21 讀csv檔案read_csv(10.註釋和空行)(詳細 tcy)
註釋和空行 2017/12/27 目錄: 第1部分:csv文字檔案讀寫 pandas 讀csv檔案read_csv(1.文字讀寫概要)https://mp.csdn.net/postedit/85289371 pandas 讀csv檔案read_csv(2.read_csv引數
pandas21 讀csv檔案read_csv(9.浮點轉換和NA值)(詳細 tcy)
浮點轉換和NA值 2018/12/26 目錄: 第1部分:csv文字檔案讀寫 pandas 讀csv檔案read_csv(1.文字讀寫概要)https://mp.csdn.net/postedit/85289371 pandas 讀csv檔案read_csv(2.read
pandas21 讀csv檔案read_csv(8.方言和分隔符)(詳細 tcy)
方言和分隔符 2018/12/26 目錄: 第1部分:csv文字檔案讀寫 pandas 讀csv檔案read_csv(1.文字讀寫概要)https://mp.csdn.net/postedit/85289371 pandas 讀csv檔案read_csv(2.read_csv引
pandas21 讀csv檔案read_csv(6.命名和使用列)(詳細 tcy)
命名和使用列 2015/12/27 目錄: 第1部分:csv文字檔案讀寫 pandas 讀csv檔案read_csv(1.文字讀寫概要)https://mp.csdn.net/postedit/85289371 pandas 讀csv檔案read_csv(2.read_csv
(詳細圖示)IDEA 配置Tomcat伺服器和釋出web專案
目錄 IDEA 配置Tomcat伺服器 IDEA 配置Tomcat伺服器 1.建立好web專案之後,現在需要配置伺服器,以Tomcat為例 2.選擇Run-Edit Configurations 3.點選右上角 + 號,選擇2處展開剩下選項
Linux核心移植和根檔案系統製作(詳細步驟精講)
start_kernel是所有 Linux 平臺進入系統核心初始化後的入口函式,它主要完成剩餘的與硬體平臺相關的初始化工作,在進行一系列與核心相關的初始化後,呼叫第一個使用者程序-init 程序並等待使用者程序的執行,這樣整個 Linux 核心便啟動完畢。該函式所做的具體工作有:呼叫 setup_arch
Hadoop偽分散式、完全分散式搭建和測試(詳細版)
安裝 Hadoop 入門學習,快速搭建偽分散式環境。 注:需要下載的安裝包在文章底部,請自行獲取。 1. 修改主機名 vim /etc/hostname vim /etc/hosts reboot reboot 重啟主機使修改配置檔案生效,這裡我