android5.06.0新控制元件
阿新 • • 發佈:2018-11-08
Android自5.0後增加了不少新控制元件,幫助開發者實現了更酷更炫的UI效果。可是對於初學者來說,這些新控制元件的用法不像老控制元件那麼簡單,網上相關的使用介紹也不如老控制元件那樣豐富,種種情況無疑加大了我們學習這些新控制元件的難度。為此,博主初步整理了Android在5.0和6.0之後的新增控制元件,及其對應的說明博文,給大家提供一個可資學習和借鑑的索引。
下面是新增控制元件的索引表格:
相容包 | 名稱 | 控制元件 | 引入版本 |
核心 | 水波圖形 | RippleDrawable | Android 5.0 |
向量圖形 | VectorDrawable | Android 5.0 | |
向量動畫 | AnimatedVectorDrawable | Android 5.0 | |
AnimationCallback | Android 6.0 | ||
媒體投影管理器 | MediaProjectionManager | Android 5.0 | |
攝像頭二代camera2 | CameraManager | Android 5.0 | |
CameraDevice | Android 5.0 | ||
CameraCaptureSession | Android 5.0 | ||
電話管理器增加雙卡雙待 | TelephonyManager | Android 5.0 | |
PDF檔案渲染器 | PdfRenderer | Android 5.0 | |
任務排程器 | JobScheduler | Android 5.0 | |
任務服務 | JobService | Android 5.0 | |
v4 | 下拉重新整理佈局 | SwipeRefreshLayout | Android 5.0 |
抽屜佈局 | DrawerLayout | Android 5.0 | |
滑動面板佈局 | SlidingPaneLayout | Android 5.0 | |
巢狀滾動檢視 | NestedScrollView | Android 5.0 | |
appcompat-v7 | 工具欄 | Toolbar | Android 5.0 |
recyclerview-v7 | 迴圈檢視 | RecyclerView | Android 5.0 |
線性佈局管理器 | LinearLayoutManager | Android 5.0 | |
網格佈局管理器 | GridLayoutManager | Android 5.0 | |
瀑布流網格佈局管理器 | StaggeredGridLayoutManager | Android 5.0 | |
cardview-v7 | 卡片檢視 | CardView | Android 5.0 |
palette-v7 | 調色盤 | Palette | Android 5.0 |
design | 提示條 | Snackbar | Android 5.0 |
導航檢視 | NavigationView | Android 5.0 | |
協調佈局 | CoordinatorLayout | Android 5.0 | |
懸浮按鈕 | FloatingActionButton | Android 5.0 | |
底部彈窗 | BottomSheetBehavior | Android 6.0 | |
應用欄佈局 | AppBarLayout | Android 5.0 | |
可摺疊工具欄佈局 | CollapsingToolbarLayout | Android 5.0 | |
側滑刪除 | SwipeDismissBehavior | Android 5.0 | |
標籤佈局 | TabLayout | Android 5.0 | |
文字輸入佈局 | TextInputLayout | Android 5.0 | |
文字輸入編輯框 | TextInputEditText | Android 6.0 |
以上的新控制元件,在專案中使用的時候,可分為三大類:
1、第一類是核心提供的控制元件,位於SDK的android.jar中。
這個與系統版本有關,每個版本的android.jar是固定的,有在該核心中定義的控制元件才能正常呼叫,沒在核心中定義的控制元件在執行時會扔出類找不到的異常。比如水波圖形RippleDrawable和向量圖形VectorDrawable,這兩個控制元件在Android5.0之後的系統核心中提供,所以只有系統版本不低於5.0的手機才能使用它們,執行4. 系統的手機是無法正常呼叫這兩個控制元件的。
2、第二類是v4相容庫提供的控制元件,位於SDK的android-support-v4.jar中。
v4庫預設會被編譯進App的安裝包,所以它不需要系統核心支援,可直接執行在4.0之後的所有系統上,並且App工程無需手工匯入v4庫。使用v4控制元件唯一需要注意的地方,是佈局檔案中要引用完整路徑的控制元件名稱,如抽屜佈局android.support.v4.widget.DrawerLayout、下拉重新整理佈局android.support.v4.widget.SwipeRefreshLayout等等。
3、第三類是v7相容庫和design庫,它們有各自的庫工程,開發者要在App工程中手工匯入用到的相容庫。
v7與design庫匯入App工程後,編譯出來的App即可相容4.的系統。使用v7與design庫的控制元件,類似於使用自定義控制元件,不但要在佈局檔案中引用完整路徑的控制元件名稱,還要在根佈局宣告名稱空間(即新增屬性xmlns:app=”http://schemas.android.com/apk/res-auto”),然後方可使用這些控制元件的自定義屬性。這部分控制元件數量最多,實現的介面特效最豐富,而且互相之間存在依賴關係,如design庫依賴於appcompat-v7庫,部分design控制元件如NavigationView還依賴於recyclerview-v7庫,所以若要正確使用design庫的控制元件,往往得同時匯入好幾個相關的相容庫。
Android5.0和6.0之後補充了這麼多新控制元件,自然有部分老控制元件變過時了,下面就列舉部分新舊控制元件的替代關係:
Toolbar:替代ActionBar
RecyclerView:替代ListView和GridView
NestedScrollView:替代ScrollView
Snackbar:替代Toast
FloatingActionButton:替代ImageButton
TextInputEditText:替代EditText
camera2家族:替代Camera
點此檢視Android開發筆記的完整目錄
轉載地址:https://blog.csdn.net/aqi00/article/details/59108336
Android自5.0後增加了不少新控制元件,幫助開發者實現了更酷更炫的UI效果。可是對於初學者來說,這些新控制元件的用法不像老控制元件那麼簡單,網上相關的使用介紹也不如老控制元件那樣豐富,種種情況無疑加大了我們學習這些新控制元件的難度。為此,博主初步整理了Android在5.0和6.0之後的新增控制元件,及其對應的說明博文,給大家提供一個可資學習和借鑑的索引。
下面是新增控制元件的索引表格:
相容包 | 名稱 | 控制元件 | 引入版本 |
核心 | 水波圖形 | RippleDrawable | Android 5.0 |
向量圖形 | VectorDrawable | Android 5.0 | |
向量動畫 | AnimatedVectorDrawable | Android 5.0 | |
向量動畫監聽器 | AnimationCallback | Android 6.0 | |
媒體投影管理器 | MediaProjectionManager | Android 5.0 | |
攝像頭二代camera2 | CameraManager | Android 5.0 | |
CameraDevice | Android 5.0 | ||
CameraCaptureSession | Android 5.0 | ||
電話管理器增加雙卡雙待 | TelephonyManager | Android 5.0 | |
PDF檔案渲染器 | PdfRenderer | Android 5.0 | |
任務排程器 | JobScheduler | Android 5.0 | |
任務服務 | JobService | Android 5.0 | |
v4 | 下拉重新整理佈局 | SwipeRefreshLayout | Android 5.0 |
抽屜佈局 | DrawerLayout | Android 5.0 | |
滑動面板佈局 | SlidingPaneLayout | Android 5.0 | |
巢狀滾動檢視 | NestedScrollView | Android 5.0 | |
appcompat-v7 | 工具欄 | Toolbar | Android 5.0 |
recyclerview-v7 | 迴圈檢視 | RecyclerView | Android 5.0 |
線性佈局管理器 | LinearLayoutManager | Android 5.0 | |
網格佈局管理器 | GridLayoutManager | Android 5.0 | |
瀑布流網格佈局管理器 | StaggeredGridLayoutManager | Android 5.0 | |
cardview-v7 | 卡片檢視 | CardView | Android 5.0 |
palette-v7 | 調色盤 | Palette | Android 5.0 |
design | 提示條 | Snackbar | Android 5.0 |
導航檢視 | NavigationView | Android 5.0 | |
協調佈局 | CoordinatorLayout | Android 5.0 | |
懸浮按鈕 | FloatingActionButton | Android 5.0 | |
底部彈窗 | BottomSheetBehavior | Android 6.0 | |
應用欄佈局 | AppBarLayout | Android 5.0 | |
可摺疊工具欄佈局 | CollapsingToolbarLayout | Android 5.0 | |
側滑刪除 | SwipeDismissBehavior | Android 5.0 | |
標籤佈局 | TabLayout | Android 5.0 | |
文字輸入佈局 | TextInputLayout | Android 5.0 | |
文字輸入編輯框 | TextInputEditText | Android 6.0 |
以上的新控制元件,在專案中使用的時候,可分為三大類:
1、第一類是核心提供的控制元件,位於SDK的android.jar中。
這個與系統版本有關,每個版本的android.jar是固定的,有在該核心中定義的控制元件才能正常呼叫,沒在核心中定義的控制元件在執行時會扔出類找不到的異常。比如水波圖形RippleDrawable和向量圖形VectorDrawable,這兩個控制元件在Android5.0之後的系統核心中提供,所以只有系統版本不低於5.0的手機才能使用它們,執行4. 系統的手機是無法正常呼叫這兩個控制元件的。
2、第二類是v4相容庫提供的控制元件,位於SDK的android-support-v4.jar中。
v4庫預設會被編譯進App的安裝包,所以它不需要系統核心支援,可直接執行在4.0之後的所有系統上,並且App工程無需手工匯入v4庫。使用v4控制元件唯一需要注意的地方,是佈局檔案中要引用完整路徑的控制元件名稱,如抽屜佈局android.support.v4.widget.DrawerLayout、下拉重新整理佈局android.support.v4.widget.SwipeRefreshLayout等等。
3、第三類是v7相容庫和design庫,它們有各自的庫工程,開發者要在App工程中手工匯入用到的相容庫。
v7與design庫匯入App工程後,編譯出來的App即可相容4.的系統。使用v7與design庫的控制元件,類似於使用自定義控制元件,不但要在佈局檔案中引用完整路徑的控制元件名稱,還要在根佈局宣告名稱空間(即新增屬性xmlns:app=”http://schemas.android.com/apk/res-auto”),然後方可使用這些控制元件的自定義屬性。這部分控制元件數量最多,實現的介面特效最豐富,而且互相之間存在依賴關係,如design庫依賴於appcompat-v7庫,部分design控制元件如NavigationView還依賴於recyclerview-v7庫,所以若要正確使用design庫的控制元件,往往得同時匯入好幾個相關的相容庫。
Android5.0和6.0之後補充了這麼多新控制元件,自然有部分老控制元件變過時了,下面就列舉部分新舊控制元件的替代關係:
Toolbar:替代ActionBar
RecyclerView:替代ListView和GridView
NestedScrollView:替代ScrollView
Snackbar:替代Toast
FloatingActionButton:替代ImageButton
TextInputEditText:替代EditText
camera2家族:替代Camera
點此檢視Android開發筆記的完整目錄