Android Support Library 標題欄(Toolbar)滾動效果實現(xiàn)方法
首先來個效果圖

布局文件代碼
在布局文件中,CoordinatorLayout作為布局文件根節(jié)點,AppBarLayout包含在CoordinatorLayout中,toolbar在AppBarLayout節(jié)點下include進來。
<?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是需要響應view的滾動事件的,所以需要為toolbar指定layout_scrollFlags屬性,scroll表示toobar會隨著view的向下滾動而隱藏,enterAlways表示toolbar會隨著view的向上滾動而恢復到原來的位置。
<?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 標題欄(Toolbar)滾動效果實現(xiàn)方法就是小編分享給大家的全部內容了,希望能給大家一個參考,也希望大家多多支持腳本之家。
- Android將項目導出為Library并在項目中使用教程
- Android Studio多工程引用同一個library項目配置的解決方法
- android studio library 模塊中正確引用aar的實例講解
- Android Data Binding 在 library module 中遇到錯誤及解決辦法
- Android 詳解Studio引用Library與導入jar
- android底部彈出iOS7風格對話選項框(QQ對話框)--第三方開源之IOS_Dialog_Library
- 解析ADT-20問題 android support library
- Android?使用maven?publish插件發(fā)布產物(aar)流程實踐
- Android打包上傳AAR文件到Maven倉庫的示例
- 發(fā)布?Android?library?到?Maven?解析
相關文章
Android實現(xiàn)聯(lián)動下拉框 下拉列表spinner的實例代碼
這篇文章介紹了Android實現(xiàn)聯(lián)動下拉框 下拉列表spinner的實例代碼,有需要的朋友可以參考一下2013-10-10
Eclipse+ADT+Android SDK搭建安卓開發(fā)環(huán)境的實現(xiàn)步驟
這篇文章主要介紹了Eclipse+ADT+Android SDK搭建安卓開發(fā)環(huán)境的實現(xiàn)步驟,文中通過示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下2021-09-09
android開發(fā)教程之startActivityForResult使用方法
這篇文章主要介紹了android開發(fā)教程之startActivityForResult使用方法,需要的朋友可以參考下2014-03-03
Android實現(xiàn)不同apk間共享數(shù)據(jù)的方法(2種方法)
這篇文章主要介紹了Android實現(xiàn)不同apk間共享數(shù)據(jù)的方法,介紹了apk自定義借口實現(xiàn)數(shù)據(jù)共享與基于User id的數(shù)據(jù)共享,并重點介紹了基于User id的數(shù)據(jù)共享實現(xiàn)技巧,非常簡單實用,需要的朋友可以參考下2016-01-01
Android OpenGL ES 實現(xiàn)抖音傳送帶特效(原理解析)
這篇文章主要介紹了Android OpenGL ES 實現(xiàn)抖音傳送帶特效,抖音傳送帶特效推出已經很長一段時間了,前面也實現(xiàn)了下,最近把它整理出來了,如果你有仔細觀測傳送帶特效,就會發(fā)現(xiàn)它的實現(xiàn)原理其實很簡單,需要的朋友可以參考下2022-07-07

