Android仿京東搜索框漸變效果
在許多APP中,有的搜索框是一直固定的,有的呢,附加了很多的效果,就比如京東
好吧,誰讓京東那么厲害呢,不說了,開始高仿!
原理:就是自定義scrollview實(shí)現(xiàn)對(duì)滑動(dòng)高度的監(jiān)聽而已,如此實(shí)現(xiàn)對(duì)搜索框的漸變
先貼上我的自定義scrollview
//自定義ScrollView public class CustomView extends ScrollView { public interface ScrollViewListener { void onScrollChanged(CustomView customView, int x, int y, int oldx, int oldy); } private ScrollViewListener scrollViewListener = null; public CustomView(Context context) { super(context); } public CustomView(Context context, AttributeSet attrs, int defStyle) { super(context, attrs, defStyle); } public CustomView(Context context, AttributeSet attrs) { super(context, attrs); } public void setScrollViewListener(ScrollViewListener scrollViewListener) { this.scrollViewListener = scrollViewListener; } @Override protected void onScrollChanged(int x, int y, int oldx, int oldy) { super.onScrollChanged(x, y, oldx, oldy); if (scrollViewListener != null) { scrollViewListener.onScrollChanged(this, x, y, oldx, oldy); } } }
好了,接下來就直接在邏輯代碼中調(diào)用就行了!
@Override public void onViewCreated(View view, @Nullable Bundle savedInstanceState) { super.onViewCreated(view, savedInstanceState); //搜索框在布局最上面 line.bringToFront(); mScrollview.setScrollViewListener(new CustomView.ScrollViewListener() { @Override public void onScrollChanged(CustomView customView, int x, int y, int oldx, int oldy) { if (y <= 0) { line.setBackgroundColor(Color.argb((int) 0, 227, 29, 26));//AGB由相關(guān)工具獲得,或者美工提供 } else if (y > 0 && y <= imageHeight) { //獲取ScrollView向下滑動(dòng)圖片消失的比例 float scale = (float) y / imageHeight; //更加這個(gè)比例,讓標(biāo)題顏色由淺入深 float alpha = (255 * scale); // 只是layout背景透明 line.setBackgroundColor(Color.argb((int) alpha, 255, 255, 255)); } } });
以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
Android使用Intent傳大數(shù)據(jù)簡(jiǎn)單實(shí)現(xiàn)詳解
這篇文章主要為大家介紹了Android使用Intent傳大數(shù)據(jù)簡(jiǎn)單實(shí)現(xiàn)詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2023-03-03Android中DrawerLayout+ViewPager滑動(dòng)沖突的解決方法
這篇文章主要為大家詳細(xì)介紹了Android中DrawerLayout+ViewPager滑動(dòng)沖突的解決方法,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2017-06-06Android利用GridView實(shí)現(xiàn)單選功能
這篇文章主要為大家詳細(xì)介紹了Android利用GridView實(shí)現(xiàn)單選功能的相關(guān)資料,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2017-02-02Android藍(lán)牙服務(wù)啟動(dòng)流程分析探索
這篇文章主要介紹了Android藍(lán)牙服務(wù)啟動(dòng)流程,了解內(nèi)部原理是為了幫助我們做擴(kuò)展,同時(shí)也是驗(yàn)證了一個(gè)人的學(xué)習(xí)能力,如果你想讓自己的職業(yè)道路更上一層樓,這些底層的東西你是必須要會(huì)的2023-01-01Kotlin學(xué)習(xí)筆記之const val與val
這篇文章主要給大家介紹了關(guān)于Kotlin學(xué)習(xí)筆記之const val與val的相關(guān)資料,并給大家介紹了const val和val區(qū)別以及Kotlin中var和val的區(qū)別,需要的朋友可以參考借鑒,下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2018-05-05Flutter Widget移動(dòng)UI框架使用Material和密匙Key實(shí)戰(zhàn)
這篇文章主要為大家介紹了Flutter Widget移動(dòng)UI框架使用Material和密匙Key實(shí)戰(zhàn),有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2022-12-12Android高仿QQ6.0側(cè)滑刪除實(shí)例代碼
先給大家分享一下,側(cè)滑刪除,布局也就是前面一個(gè)item,然后有兩個(gè)隱藏的按鈕(TextView也可以),然后我們可以向左側(cè)滑動(dòng),然后顯示出來,然后對(duì)delete(刪除鍵)實(shí)現(xiàn)監(jiān)聽,就可以了哈。好了那就來看看代碼怎么實(shí)現(xiàn)的吧2016-02-02基于Android開發(fā)支持表情的實(shí)現(xiàn)詳解
本篇文章是對(duì)在Android開發(fā)中支持表情的實(shí)現(xiàn)代碼進(jìn)行了介紹。需要的朋友參考下2013-05-05