編輯:關於Android編程
CollapsingToolbarLayout是Toolbar的一個包裝,可以做出很多很炫的折疊效果。
toolbar伸縮
toolbar伸展開加入圖片背景,收縮時變會普通toolbar
先從最簡單的看起
效果如下所示,toolbar可以伸展
如果想要最後的時候toolbar也留著,只要在app:layout_scrollFlags裡加一個exitUntilCollapsed,效果如下,exitUntilCollapsed意思就是滑出直到折疊狀態,即滑出的時候最多到折疊狀態,無法完全滑出<喎?/kf/ware/vc/" target="_blank" class="keylink">vcD4NCjxwPjxpbWcgYWx0PQ=="" src="/uploadfile/Collfiles/20160920/2016092009343076.gif" title="\" />
此時有個問題,右上角菜單不見了,實際上是滑出去了,我們要想保留,就得讓toolbar不滑動,pin住就行了(Toolbar設置app:layout_collapseMode=”pin”),讓toolbar不滑動。效果如下,此時效果已經不錯了,上滑過程中,標題逐漸變小,然後跑到toolbar裡去.此時如果要修改伸展狀態下text的位置可以用app:expandedTitleMargin, app:expandedTitleMarginBottom, app:expandedTitleMarginEnd and app:expandedTitleMarginStart。
如何為Toolbar添加個背景圖呢?
因為CollapsingToolbarLayout是FrameLayout所以,直接在裡面加ImageView就可以了(加backgroud行不行?)
注意此時把toolbar背景去掉,刪掉這句android:background=”?attr/colorPrimary”
然後CollapsingToolbarLayout內加入加入app:contentScrim=”?attr/colorPrimary”
這麼做,伸展開的時候背景就是圖片,收縮的時候背景就是純色
此時發現圖片不會滑到狀態欄上,那是因為狀態欄沒有設置透明,給activity換個style用AppTheme.NoActionBar之後,就可以滑到狀態欄了。效果如下
此時,初始態未覆蓋狀態欄,滑動的時候可以覆蓋到狀態欄,想要初始態就覆蓋狀態欄,怎麼辦?
給ImageView加上fitSystemWindow,效果如下
app:layout_collapseMode=”parallax” 可以讓圖片和AppBarLayout一起滑動
最後代碼如下
“` xml
enterAlways: 一旦下滑就會讓view逐步顯示出來. 當我們滑到一個list的底部的時候,想要下滑盡快看到toolbar的時候,用這個模式很有用。
一般情況下,我們想要toolbar顯示出來,得先滑到list的頂部才行,如下所示
如果設置了enterAlways,就會如下所示,可以看到toolbar立刻就出來了
但是如果使用enterAlwaysCollapsed,注意此時的layout_scrollFlags必須寫了scroll、enterAlways、enterAlwaysCollapsed,
這樣可以實現,一旦下滑就把我們的view拉出minimum height,然後list到頂的時候,可以把整個view拉出來。如下所示。(我試了下沒做出這樣的效果)
snap的作用就是讓CollapsingToolbarLayout要麼完全展開,要麼完全收縮,根據手指抬起的時候,滾動的距離有沒有一半來判斷
上一篇《深入理解ART虛擬機—虛擬機的啟動》分析了art虛擬機的啟動過程,不過跳過了一個技術點,就是ImageSpace。由之前的分析可知,ClassLink
之前博客中,介紹過使用谷歌提供的鍵盤的一些api,可以很好地自定義鍵盤,這個有一個局限性,只能占滿屏幕,無法做到只能占一部分的需求鍵盤,如下圖我平板中的鍵盤需求:(由於公
1、DataProvider package com.njupt.ndk_passdata; public class DataProvider { public
概述在android開發過程中,拍照或者從相冊中選擇圖片是很常見的功能。下面要說得這個案例比較簡單,用戶點擊按鈕選擇拍照或者打開相冊選擇圖片,然後將選中的圖片顯示在手機上