Android Support Library 標(biāo)題欄(Toolbar)滾動效果實(shí)現(xiàn)方法
首先來個效果圖
布局文件代碼
在布局文件中,CoordinatorLayout作為布局文件根節(jié)點(diǎn),AppBarLayout包含在CoordinatorLayout中,toolbar在AppBarLayout節(jié)點(diǎn)下include進(jìn)來。
<?xml version="1.0" encoding="utf-8"?> <android.support.design.widget.CoordinatorLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:app="http://schemas.android.com/apk/res-auto" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent" tools:context="cn.manchester.androidsupportlibrary.CoordinatorLayoutActivity"> <android.support.design.widget.AppBarLayout android:id="@+id/appbar" android:layout_width="match_parent" android:layout_height="wrap_content" android:fitsSystemWindows="true"> <include layout="@layout/toolbar" /> </android.support.design.widget.AppBarLayout> <LinearLayout android:layout_width="match_parent" android:layout_height="match_parent" android:orientation="vertical" android:scrollbars="none" app:layout_behavior="@string/appbar_scrolling_view_behavior"> <android.support.v7.widget.RecyclerView android:id="@+id/recyclerView" android:layout_width="match_parent" android:layout_height="match_parent" /> </LinearLayout> </android.support.design.widget.CoordinatorLayout>
toolbar.xml
toolbar是需要響應(yīng)view的滾動事件的,所以需要為toolbar指定layout_scrollFlags屬性,scroll表示toobar會隨著view的向下滾動而隱藏,enterAlways表示toolbar會隨著view的向上滾動而恢復(fù)到原來的位置。
<?xml version="1.0" encoding="utf-8"?> <android.support.v7.widget.Toolbar xmlns:android="http://schemas.android.com/apk/res/android" xmlns:app="http://schemas.android.com/apk/res-auto" android:id="@+id/toolbar" android:layout_width="match_parent" android:layout_height="wrap_content" android:background="#304696" android:popupTheme="@style/ThemeOverlay.AppCompat.Light" app:layout_scrollFlags="scroll|enterAlways" app:theme="@style/ThemeOverlay.AppCompat.ActionBar"> </android.support.v7.widget.Toolbar>
Java代碼
public class CoordinatorLayoutActivity extends AppCompatActivity { Toolbar mToolbar; RecyclerView mRecyclerView; String[] mArrays = new String[]{"1", "2", "3", "4", "5", "6", "7", "8", "9", "10", "11", "12", "13", "14"}; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_coordinator_layout); mToolbar = (Toolbar) findViewById(R.id.toolbar); setSupportActionBar(mToolbar); getSupportActionBar().setDisplayHomeAsUpEnabled(true); mRecyclerView = (RecyclerView) findViewById(R.id.recyclerView); mRecyclerView.setLayoutManager(new LinearLayoutManager(this)); mRecyclerView.setAdapter(new MyAdapter()); } class MyAdapter extends RecyclerView.Adapter<MyAdapter.MyViewHolder> { @Override public MyAdapter.MyViewHolder onCreateViewHolder(ViewGroup parent, int viewType) { MyViewHolder holder = new MyViewHolder(LayoutInflater.from(CoordinatorLayoutActivity.this) .inflate(android.R.layout.simple_list_item_1, parent, false)); return holder; } @Override public void onBindViewHolder(MyAdapter.MyViewHolder holder, int position) { holder.tv.setText(mArrays[position]); } @Override public int getItemCount() { return mArrays.length; } class MyViewHolder extends RecyclerView.ViewHolder { TextView tv; public MyViewHolder(View itemView) { super(itemView); tv = (TextView) itemView.findViewById(android.R.id.text1); } } } }
以上這篇Android Support Library 標(biāo)題欄(Toolbar)滾動效果實(shí)現(xiàn)方法就是小編分享給大家的全部內(nèi)容了,希望能給大家一個參考,也希望大家多多支持腳本之家。
- Android將項(xiàng)目導(dǎo)出為Library并在項(xiàng)目中使用教程
- Android Studio多工程引用同一個library項(xiàng)目配置的解決方法
- android studio library 模塊中正確引用aar的實(shí)例講解
- Android Data Binding 在 library module 中遇到錯誤及解決辦法
- Android 詳解Studio引用Library與導(dǎo)入jar
- android底部彈出iOS7風(fēng)格對話選項(xiàng)框(QQ對話框)--第三方開源之IOS_Dialog_Library
- 解析ADT-20問題 android support library
- Android?使用maven?publish插件發(fā)布產(chǎn)物(aar)流程實(shí)踐
- Android打包上傳AAR文件到Maven倉庫的示例
- 發(fā)布?Android?library?到?Maven?解析
相關(guān)文章
Android實(shí)現(xiàn)聯(lián)動下拉框 下拉列表spinner的實(shí)例代碼
這篇文章介紹了Android實(shí)現(xiàn)聯(lián)動下拉框 下拉列表spinner的實(shí)例代碼,有需要的朋友可以參考一下2013-10-10Eclipse+ADT+Android SDK搭建安卓開發(fā)環(huán)境的實(shí)現(xiàn)步驟
這篇文章主要介紹了Eclipse+ADT+Android SDK搭建安卓開發(fā)環(huán)境的實(shí)現(xiàn)步驟,文中通過示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2021-09-09android開發(fā)教程之startActivityForResult使用方法
這篇文章主要介紹了android開發(fā)教程之startActivityForResult使用方法,需要的朋友可以參考下2014-03-03Android手機(jī)內(nèi)存中文件的讀寫方法小結(jié)
這篇文章主要介紹了Android手機(jī)內(nèi)存中文件的讀寫方法,實(shí)例總結(jié)了Android針對文件讀寫操作的相關(guān)技巧,非常具有實(shí)用價(jià)值,需要的朋友可以參考下2015-04-04Android實(shí)現(xiàn)不同apk間共享數(shù)據(jù)的方法(2種方法)
這篇文章主要介紹了Android實(shí)現(xiàn)不同apk間共享數(shù)據(jù)的方法,介紹了apk自定義借口實(shí)現(xiàn)數(shù)據(jù)共享與基于User id的數(shù)據(jù)共享,并重點(diǎn)介紹了基于User id的數(shù)據(jù)共享實(shí)現(xiàn)技巧,非常簡單實(shí)用,需要的朋友可以參考下2016-01-01Android OpenGL ES 實(shí)現(xiàn)抖音傳送帶特效(原理解析)
這篇文章主要介紹了Android OpenGL ES 實(shí)現(xiàn)抖音傳送帶特效,抖音傳送帶特效推出已經(jīng)很長一段時間了,前面也實(shí)現(xiàn)了下,最近把它整理出來了,如果你有仔細(xì)觀測傳送帶特效,就會發(fā)現(xiàn)它的實(shí)現(xiàn)原理其實(shí)很簡單,需要的朋友可以參考下2022-07-07Android自定義控件實(shí)現(xiàn)球賽比分條效果
這篇文章主要為大家詳細(xì)介紹了Android自定義控件實(shí)現(xiàn)球賽比分條效果,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2018-12-12