Android Style --圓角、填充、複用(shape、selector)
一門技術的基礎知識是掌握一門技術的起點和支撐。許多基礎知識需要我們不斷的回顧。
我們經常需要對TextView、Button的控制元件的樣式做一些修改,比如圓角、填充色、邊框色等
在對控制元件的形狀以及狀態變化等處理的離不開<shape>和<selector>
關於<shape>和<selector>之間的區別這裡有一篇文章總結的很不錯
http://blog.csdn.net/brokge/article/details/9713041/
1、 圓角邊框實現
在drawable中新建一個xml檔案
在佈局檔案中引用這個資原始檔(作為Background)<?xml version="1.0" encoding="utf-8"?> <shape xmlns:android="http://schemas.android.com/apk/res/android"> <!--角度--> <corners android:radius="5dp" /> <!--填充色--> <solid android:color="#FF3030" /> <stroke android:color="#000000" android:width="1dp" /> </shape>
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_margin="20dp"
android:textColor="#FFFFFF"
android:background="@drawable/style_textview_normal"
android:text="主題"/>
效果如圖:
為什麼這樣定義?
這個實際是給TextView定義了一個背景,Android 控制元件(TextView、Button。。)的背景background可以接受許多種資源型別,color、drawable
2、樣式的複用
在style.xml中定義一個樣式
<style name="style_text_array"> <item name="android:textSize">21dp</item> <item name="android:textColor">#FFFFFF</item> <item name="android:background">@drawable/style_textview_normal</item> </style>
在佈局檔案中引用
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
style="@style/style_text_array"
android:text="主題"/>
樣式複用相當於統一的定義了一個樣式組,可以在許多的控制元件裡引用,從而減少重複程式碼
相關推薦
Android Style --圓角、填充、複用(shape、selector)
一門技術的基礎知識是掌握一門技術的起點和支撐。許多基礎知識需要我們不斷的回顧。 我們經常需要對TextView、Button的控制元件的樣式做一些修改,比如圓角、填充色、邊框色等 在對控制元件的形狀以
js的動態載入、快取、更新以及複用(三)
總體思路 1、 建立一個js服務,該服務實現通用js檔案的載入、依賴、快取、更新以及複用。 2、 各個專案如果使用通用js,可(bi)以(xu)使用js服務實現載入。 3、 Js服務只提供通用的js,比如jQuery、my97、easyUI等(可根據實際情況設定具體的js檔案)。 4、 其他針
js的動態載入、快取、更新以及複用(四)
本來想一氣呵成,把載入的過程都寫了,但是卡著呢,所以只好在分成兩份了。 1、頁面裡使用<script>來載入 boot.js 。 2、然後在boot.js裡面動態載入 bootLoad.js。以時間作為標識 var dateVer = date.getYear() + '_
js的動態載入、快取、更新以及複用(一)
使用範圍: OA、MIS、ERP等資訊管理類的專案,暫時不考慮網站。 遇到的問題: 完成一個專案,往往需要引用很多js檔案,比如jQuery.js、easyUI等。還有自己寫的一些列js檔案,那麼這些檔案如何方便的載入,如果檔案有變化如何才能讓客戶端及時更新快取?如果能夠提高點執行效率,
js的動態載入、快取、更新以及複用(二)
上一篇發出來後得到了很多回復,在此首先感謝大家的熱情捧場!有的推薦第三方框架,比如 In.js、requrieJS、sea.js、lab.js等。這個開闊了眼界,以前只知道sea.js,省去了自己搜尋的麻煩。也用了點時間簡單看了一下,因為每一個都是大塊頭,都有自己的理念,如果只是簡單使用的話,那麼誰便
SVG 複用(defs、symbol、use)
<defs>與<symbol>的相同點 <defs>元素用於預定義一個元素使其能夠在SVG影象中重複使用。 <symbol>元素用於定義可重複使用的符號。 嵌入在<defs>或<symbol&
Part 2 程式碼複用(繼承VS組合)
談這個主題之前,我們先來聊聊程式碼複用,很多時候我們要複用一段程式碼時,發出的第一個吶喊就是“我要繼承!”。 但實際上把繼承的目的定為程式碼複用,本身就是一個錯誤的理解,那繼承到底是幹嘛的,往下看... JS中是使用原型來模擬繼承的,如: 而繼承的真正目的是向上轉型實
非阻塞socket與io多路複用(沒整理好)
非阻塞套接字 多人聊天客戶端 import socket server = socket.socket() server.setblocking(False) #設定非阻塞 server.bind("",6969) server.listen(5) clients = [ ] 存放連線進來的
I/O複用(I/O multiplexing): select, pselect, poll, ppoll, epoll
I/O複用:select, pselect, poll, epoll. 注意:本文主要介紹的是epoll相關知識,無法確保正確 1. 相關問題: 1.1 什麼是I/O複用? 1.2 四個I/O複用方法相關知識點? 1.3 四個I/O複
一次讀懂 Select、Poll、Epoll IO複用技術
“ 閱讀本文大概需要 6 分鐘。” 我們之前採用的多程序方式實現的伺服器端,一次建立多個工作子程序來給客戶端提供服務。其實這種方式是存在問題的。 可以打個比方:如果我們先前建立的幾個程序承載不了目前快速發展的業務的話,是不是還得增加程序數?我們都知道系統建立程序是需
IO多路複用(一)-- Select、Poll、Epoll
在上一篇博文中提到了五種IO模型,關於這五種IO模型可以參考博文IO模型淺析-阻塞、非阻塞、IO複用、訊號驅動、非同步IO、同步IO,本篇主要介紹IO多路複用的使用和程式設計。 IO多路複用的概念 多路複用是一種機制,可以用來監聽多種描述符,如果其中任意一個描述符處
IO多路複用(二) -- select、poll、epoll實現TCP反射程式
接著上文IO多路複用(一)-- Select、Poll、Epoll,接下來將演示一個TCP回射程式,原始碼來自於該博文https://www.cnblogs.com/Anker...,在這裡將其進行了整合,突出select、poll和epoll不同方法之間的比較,但
網路通訊 :IO多路複用之select、poll、epoll詳解
目前支援I/O多路複用的系統呼叫有 select,pselect,poll,epoll,I/O多路複用就是通過一種機制,一個程序可以監視多個描述符,一旦某個描述符就緒(一般是讀就緒或者寫就緒),能夠通知程式進行相應的讀寫操作。但select,pselect,poll,epoll
I/O多路複用之select、poll、epoll
很早之前有寫過篇IO多路複用的文章:https://www.cnblogs.com/klcf0220/archive/2013/05/14/3077003.html 參考連結:https://segmentfault.com/a/1190000003063859 select,poll,epoll都是IO多路
6、數字調製與多路複用(物理層)
引言 有線和無線通道運載模擬訊號,模擬訊號可以表示成諸如連續變化的電壓、光照強度或者聲音強度。為了傳送數字資訊,必須設法用模擬訊號來表示位元。位元與代表它們訊號之間的轉換過程稱為數字調製。 如何把位元直接轉換成訊號的一些方案導致了基帶傳輸的出現,即訊號的傳輸佔有傳輸介質上從
Linux雲端計算——KVM虛擬化、後端複用、virsh命令
顯示英文版本幫助 LANG=en_US.UTF-8 命令 --help 顯示中文版本幫助 LANG=zh_CN.UTF-8 命令 --help 虛擬化 定義: 把一個或者多個物理資源轉換成一個或者多個邏輯資源,這些邏輯資源就可以用來建立虛擬機器 詳細解
IO模型——阻塞IO、非阻塞IO、多路複用IO、非同步IO、selectors模組
目錄 一、IO模型介紹 為了更好地瞭解IO模型,我們需要事先回顧下:同步、非同步、阻塞、非阻塞 同步(synchronous) IO和非同步(asynchronous) IO,阻塞(blocking) IO和非阻塞(non-blo
I/O複用之select、poll、epoll函式
為了提高程式處理效率和機制,經常需要一個程式可以達到監聽甚至處理多個檔案描述符的效能,為了帶到這種機制我們需要借用I/O複用來實現。I/O複用雖然可以同時處理多個檔案,但是它本身是阻塞的。就是當檔案有多個就緒的時候程式檢測到了才會繼續往下執行,而且在執行的時候如
看看八年前的(阻塞、非阻塞、多路複用、訊號驅動、非同步)IO總結
尊重原創,來自八年前的IO總結https://blog.csdn.net/historyasamirror/article/details/4270633 阻塞IO: 執行過程 使用者請求資料,系統核心(kernel)開始準備資料,使用者程序被阻塞
IO多路複用之select、poll、epoll詳解
ET(edge-triggered)是高速工作方式,只支援no-block socket。在這種模式下,當描述符從未就緒變為就緒時,核心通過epoll告訴你。然後它會假設你知道檔案描述符已經就緒,並且不會再為那個檔案描述符傳送更多的就緒通知,直到你做了某些操作導致那個檔案描述符不再為就緒狀態了(比如,你在