在上篇文章中,我們學習了recyclerview的簡單使用,這邊文章我們學習下android 5.0的另乙個新增加的控制項cardview。首先講解寫cardview的基本使用,然後在結合recyclerview使用cardview進行填充寫個小例項。
一、在eclipse的環境中配置同上篇文章,引入android.support.v7包進行使用。參照文章:recyclerview的簡單使用。
二、在android studio中進行使用,我們需要只需要在gradle中新增cardview包的依賴即可進行使用。
compile 'com.android.support:cardview-v7:21.0.+'
cardview是乙個新增加的ui控制項,我們先在**中定義乙個cardview的變數,然後檢視原始碼看看這是個什麼玩意。話說android studio中檢視原始碼特方便,比eclipse強很多。原始碼先:
public class cardview extends framelayout implements cardviewdelegate
從原始碼看,cardview繼承framelayout,所以cardview是乙個viewgroup,我們可以在裡面新增一些控制項進行布局。既然cardview繼承framelayout,而且android中早已有了framelayout布局,為什麼還有使用cardview這個布局控制項呢?我們先來看看官網對此類的注釋
a framelayout
with
arounded corner background
andshadow.
這個framelayout特殊點就是有rounded corner(圓角)和shadow(陰影),這個就是它的特殊之處,回首往日,我們需要自定義shape檔案進行實現圓角和陰影的設計,現在google的大牛已經把它設計為cardview的屬性供我們設定進行使用。下面我們看看cardview新增了哪些屬性:
card_view:cardusecompatpadding 設定內邊距,v21+的版本和之前的版本仍舊具有一樣的計算方式
card_view:cardpreventconreroverlap 在v20和之前的版本中新增內邊距,這個屬性為了防止內容和邊角的重疊
下面開始簡單的進行使用:
1、普通使用效果
效果圖:
2、增加背景色和圓角的效果,注意我們此時使用background屬性是沒效果的:
效果圖:
3、設定z軸陰影
效果圖:
通過上面的演示,我們發現cardview的卡片布局效果很不錯,如果用在listview、recyclerview中一定也有不錯的效果,那麼現在我們來使用下。
首先定義recyclerview的item的布局:
然後定義乙個互動的實體:
package com.example.dsw.cardviewdemo;
/*** created by dsw on 2015/9/30.
*/public class imageinfor
public int getimageid()
public void setimageid(int imageid)
public string getname()
public void setname(string name)
}
然後我們直接在mainactivity中進行處理。
public class mainactivity extends activity
});}
class myadapter extends recyclerview.adapter
@override
public myviewholder oncreateviewholder(viewgroup viewgroup, int i)
@override
public void onbindviewholder(myviewholder myviewholder, int i)
}});
}@override
public int getitemcount()
class myviewholder extends recyclerview.viewholder
}private onitemclick onitemclick;
public void setonitemclick(onitemclick onitemclick) }}
使用就是recyclerview的簡單使用中的講解,我們只是把itemview換成cardview。直接看效果圖吧!
Android 6 0新特性之 許可權管理
android 6.0中增加了 執行時permissions,就是說可以在執行時判斷有無許可權和獲取許可權,讓使用者同意即可。在之前的版本都是安裝的時候就會要使用者同意各種許可權,現在是在用的時候,回去問使用者同意。下面介紹一下我們應用在適配6.0的時候,需要做哪些事情吧,許可權新增 這個和之前的做...
Android 6 0新特性之Doze模式
doze模式可以極大幅度延長電池的使用壽命。我將從程式設計時的一些注意事項入手講解。1.什麼是doze模式 如果該裝置未插接電源,處於靜止狀態 android7.0中刪除這一條件 且螢幕關閉了一段時間之後就會進入到doze模式。在doze模式下,系統會對cpu,網路,alarm等活動進行限制,從而延...
android各版本新特性
android 新特性 android版本5.0 api21 名字l 預設情況下,在android 5.0中,通知現在顯示使用者的鎖定螢幕上,使用者可以選擇保護敏感資訊不被公開,再次情況下,系統會自動刪減通知顯示的文字。要自定義此刪減的通知,請使用setpublicversion context.b...