Android應用開發:CardView的使用及兼容

原文:http://blog.csdn.net/airk000/article/details/39520977

點擊閱讀原文

---------------------------------------------------------------

引言


在Google I/O 2014上,Google公布了Android?L Preview版本,此版本的UI有了非常大的改變,很炫很給力!同時,Google也給出了兩個可以向下兼容的控件放到了V7包中,分別是RecyclerView和CardView,這篇博文就說一下怎么使用CardView。


CardView的包在哪?


雖然說CardView整合到了V7中,但是在support-v7中并不能發現,通過查看sdk extra路徑下的文件可以發現,其名字叫cardview-v7。


這個路徑下就有cardview相關的東西了,包括已經打包好的aar包。


依賴


如果應用是以Gradle構建的,引用CardView就很簡單了:

[html]?view plaincopy
print?
  1. dependencies?{??
  2. ????compile?fileTree(dir:?'libs',?include:?['*.jar'])??
  3. ????compile?'com.android.support:cardview-v7:21.0.0-rc1'??
  4. }??

如果Gradle提示找不到,就證明你的SDK需要更新了,把Google support包更新到最新吧。


如果沒有用Gradle構建,就需要找到jar包引用進來,而jar包隱藏在CardView的aar文件中:


以壓縮包方式打開aar,提取出其中的class.jar,這個jar文件就可以當作庫文件進行依賴了。


依賴添加完成后,進行編譯會發現出現minSdk錯誤,cardview-v7的minsdk為“L",其實CardView能夠向下兼容到2.0。

在Android gradle tools 0.11版本后,可以通過xml中的tools配置進行節點替換,而AndrodiStudio對gradle tools的支持更好一些,其ParentIDE Intellij都不行,所以目前我能找到的正常使用CardView的IDE及配置辦法只有在AndroidStudio中,不過這也是趨勢,早用早好的事情。


解決辦法:

在使用CardView的工程的AndroidManifest.xml中:

[html]?view plaincopy
print?
  1. <uses-sdk??
  2. ????????xmlns:tools="http://schemas.android.com/tools"??
  3. ????????tools:node="replace"?/>??
意思就是在做AndroidoManifest.xml編譯時,采用替換的策略,即全部使用build.gradle中定義的屬性作為最終屬性。添加完成后,再次編譯,問題解決。


使用


在使用CardVIew之前,要明白CardView是個什么東西。CardView如Linearlayout、Framelayout一樣都是ViewGroup,即其他控件的容器。CardView繼承于Framelayout,所以Framelayout的屬性他都有,同時CardView還有幾個特殊的屬性:


在API21(Android L)等級以上擁有屬性elevation,意為CardView的Z軸陰影,只有L平臺有效。只能通過xml中的elevation屬性指定;

其余(2.0以上)有屬性cardBackgroundColor,意為CardView的卡片顏色,只能通過xml的cardBackgroundColor進行指定;

其余(2.0以上)有屬性cardConerRadius,意為CardView卡片的四角圓角矩形程度,單位dimen(dp px sp),可以通過xml指定,也可以通過代碼中的setRadius指定。


示例:

[html]?view plaincopy
print?
  1. <android.support.v7.widget.CardView?xmlns:android="http://schemas.android.com/apk/res/android"??
  2. ????xmlns:app="http://schemas.android.com/apk/res-auto"??
  3. ????android:id="@+id/cardview"??
  4. ????app:cardCornerRadius="8dp"??
  5. ????app:cardBackgroundColor="@color/black"??
  6. ????android:layout_margin="8dp"??
  7. ????android:layout_height="80dp"??
  8. ????android:layout_width="match_parent">??
  9. ??
  10. ????<TextView??
  11. ????????android:text="TextView?in?CardView"??
  12. ????????android:layout_gravity="center"??
  13. ????????android:textSize="26sp"??
  14. ????????android:textColor="@color/l_white"??
  15. ????????android:layout_width="wrap_content"??
  16. ????????android:layout_height="wrap_content"?/>??
  17. </android.support.v7.widget.CardView>??

效果圖:



-------------

更多的Java,Angular,Android,大數據,J2EE,Python,數據庫,Linux,Java架構師,:

http://www.cnblogs.com/zengmiaogen/p/7083694.html







本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/538889.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/538889.shtml
英文地址,請注明出處:http://en.pswp.cn/news/538889.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

云海技術u盤怎么恢復成普通盤_BITLOCKER加密中斷數據無法讀取恢復一例

同行求助此問題&#xff0c;密碼客戶是知道的&#xff0c;輸入密碼后提示如圖&#xff1a;如果點擊RESUME則提示如下&#xff1a;無視提示關閉提示框后再次提示分區需要格式化&#xff1a;PC3000 DE中可以添加虛擬驅動器解析BITLOCKER加密的分區&#xff0c;但該例添加虛擬驅動…

git 未能順利結束(退出碼1)

按照這個博客上安裝完小烏龜git后&#xff1a;https://blog.csdn.net/jdsjlzx/article/details/51098588win10下安裝完烏龜git后無法上傳文件進行文件上傳時出現錯誤如下&#xff1a;git 未能順利結束&#xff08;退出碼1&#xff09;&#xff08;922ms2018/4/17 22&#xff1a…

php sql跳過前四條數據,mysql實現每組取前N條記錄的sql,以及后續的組數據量限制...

select a.msg_id, a.com_id, a.data, a.ctime from sns_user_03.user_request_86 a where 5 (select count(*) from sns_user_03.user_request_86 where uid8880386 and com_id a.app_id and msg_id a.msg_id ) order by a.ctime; 上面的sql實現分組查詢&#xff0c;select a.…

交際過程的兩個基本環節_男女相處,若不介意這些“小動作”,基本可以確定“關系曖昧”...

當你對我說再見的時候&#xff0c;我看到你的笑容里有祝福&#xff0c;眼神里卻有遺憾……——南明夫人愛情中最美好幸福的事&#xff0c;莫過于你深愛的人&#xff0c;恰好也鐘情于你。這種兩情相悅的愛情總是如此難得&#xff0c;讓人心生羨慕。這份甜蜜與美好&#xff0c;讓…

Android之NetworkOnMainThreadException異常

原文鏈接&#xff1a;http://blog.csdn.net/mad1989/article/details/25964495 點擊閱讀原文 ------------------------------------------------------------------ 看名字就應該知道&#xff0c;是網絡請求在MainThread中產生的異常 先來看一下官網的解釋&#xff1a; Cl…

中國信通院金融科技負責人韓涵:大數據是生產資料的變革,區塊鏈是生產關系的變革...

在近日召開的“2018中國金融科技產業峰會”上&#xff0c;中國信息通信研究院主任工程師、金融科技負責人韓涵正式發布了《中國金融科技前沿技術發展趨勢及應用場景研究報告》&#xff0c;詳細講解了A&#xff08;人工智能&#xff09;B&#xff08;區塊鏈&#xff09;C&#x…

php mysql 拼音首字母,Mysql應用MySQL查詢漢字的拼音首字母實例教程

《Mysql應用MySQL查詢漢字的拼音首字母實例教程》要點&#xff1a;本文介紹了Mysql應用MySQL查詢漢字的拼音首字母實例教程&#xff0c;希望對您有用。如果有疑問&#xff0c;可以聯系我們。導讀&#xff1a;最好的方法還是用 PHP 來取拼音首字母,在 MySQL 里新建一個字段來存放…

java簡單紙牌游戲_活動回顧 | 暢玩法語紙牌游戲

11月17日下午&#xff0c;20級小伙伴們迎來了第二次法語角活動&#xff01;這次外教Anne-Flore Vrac 老師為同學們安排了豐富有趣的法語紙牌游戲&#xff0c;快來一起回顧活動的精彩瞬間吧&#xff01;集體游戲一&#xff1a;從1到30老師首先帶領同學們進行了“從1到30”的小游…

人臉識別門禁_小區人臉識別門禁或取代傳統門禁刷卡方式

可以說&#xff0c;社區是一個人口聚集的小型社會。首先社區的人流量很大&#xff0c;進出是十分頻繁。其次&#xff0c;社區的大門以及各處進出口是業主與訪客、外來人員等進進出出最關鍵的通道。因此&#xff0c;每個社區都會有一套成型的門禁系統&#xff0c;常見的是使用門…

Java Thread.join()詳解

原文地址&#xff1a;http://www.open-open.com/lib/view/open1371741636171.html 點擊閱讀原文 ------------------------------------------------------------- 一、使用方式。 join是Thread類的一個方法&#xff0c;啟動線程后直接調用&#xff0c;例如&#xff1a; Thr…

元類編程--property動態屬性

from datetime import date, datetime class User:def __init__(self, name, birthday):self.name nameself.birthday birthdayself._age 0# def get_age(self):# return datetime.now().year - self.birthday.yearproperty #動態屬性def age(self): #屬性描述符&#x…

php什么情況下使用靜態屬性,oop-做php項目什么時候該使用靜態屬性呢

一般我們做php項目 類里面 定義的方法 或者 屬性 都是普通的 什么時候該用 static 方法和屬性 有什么例子的我很少用 靜態屬性 就有一次用過 我在做會員中心 要獲取 會員菜單的時候 我用的private static $menu array();大家可以討論下嗎回復內容&#xff1a;一般我們做php項目…

vscode運行python文件_vscode怎么運行python文件

1、首先需要確保安裝了VScode的Python插件&#xff0c;打開Python腳本&#xff0c;可以直接拖入&#xff0c;點擊文件&#xff0c;點擊首選項里的用戶設置&#xff0c;這時候會用戶設置配置文件。2、然后在左邊文件CtrlF搜索Python關鍵字&#xff0c;找到pythonPath所在行3、然…

python輸出日期語句_如何從Python的原始語句中提取時間-日期-時間段信息

經過幾天的研究&#xff0c;我想出了以下方法來解決提取問題。在識別命題&#xff0c;然后識別月份并進行提取。在識別“-”&#xff0c;然后識別月份并進行提取。在部分代碼如下所示。(節選&#xff0c;需要上下文中的依賴項)new_w new_s.split()for j in range(len(new_w)):…

datepicker動態初始化

datepicker 初始化動態表單的input&#xff0c;需要調用jquery的on方法來給未來元素初始化。 //對動態添加的時間文本框進行動態初始化$(table).on("focus", ".datepicker", function () {//添加data屬性未來只初始化一次if ($(this).data("datepicke…

oracle中存儲過程 =,oracle中的存儲過程使用

一 存儲過程的基本應用1 創建存儲過程(SQL窗口)create or replace procedure update_staffasbeginupdate staff set name xy;commit;end update_staff;存儲過程適合做更新操作&#xff0c;特別是大量數據的更新2 查看存儲過程在數據字典中的信息(SQL窗口)select object_name,o…

python項目如何上線_django項目部署上線(示例代碼)

前言完善的django項目上線&#xff0c;有很多種上線的方法&#xff0c;比如apache, uwsgi, nginx等。這里只介紹2種&#xff0c;一種是django自帶的&#xff0c;另外一種則是nginx uwsgi完成介紹。這里的系統環境采用的是ubantu系統&#xff0c; python環境采用的是python3, d…

如何檢查python的庫是否安裝成功_如何測試redis是否安裝成功

下載Redis 下載好后 復制所在位置 cd 跳到 D:\Java\64bit 圖中的目錄位置 這樣便啟動成功了。 設置redis密碼的話要 到redis.conf中找到 requirepass關鍵字 設置密碼為123456 redis-cli.exe 進入客戶端 然后 auth 123456 注釋&#xff1a; auth 密碼 set 對象名 [a] 值[123] ge…

第三方類庫的學習心態

我們需要牢牢的記住&#xff1a;所有的第三方庫能實現的功能&#xff0c;我們使用原生的API只要花時間和精力也能實現&#xff0c;但是可能會出現很多的bug而且會花費較多的時間和精力&#xff0c;而且性能也不一定很好&#xff0c;第三方的庫會幫我們封裝底層的一些代碼&#…