Android Support Library 標(biāo)題欄(Toolbar)滾動(dòng)效果實(shí)現(xiàn)方法
首先來(lái)個(gè)效果圖

布局文件代碼
在布局文件中,CoordinatorLayout作為布局文件根節(jié)點(diǎn),AppBarLayout包含在CoordinatorLayout中,toolbar在AppBarLayout節(jié)點(diǎn)下include進(jìn)來(lái)。
<?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的滾動(dòng)事件的,所以需要為toolbar指定layout_scrollFlags屬性,scroll表示toobar會(huì)隨著view的向下滾動(dòng)而隱藏,enterAlways表示toolbar會(huì)隨著view的向上滾動(dòng)而恢復(fù)到原來(lái)的位置。
<?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)滾動(dòng)效果實(shí)現(xiàn)方法就是小編分享給大家的全部?jī)?nèi)容了,希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。
- Android將項(xiàng)目導(dǎo)出為L(zhǎng)ibrary并在項(xiàng)目中使用教程
- Android Studio多工程引用同一個(gè)library項(xiàng)目配置的解決方法
- android studio library 模塊中正確引用aar的實(shí)例講解
- Android Data Binding 在 library module 中遇到錯(cuò)誤及解決辦法
- Android 詳解Studio引用Library與導(dǎo)入jar
- android底部彈出iOS7風(fēng)格對(duì)話選項(xiàng)框(QQ對(duì)話框)--第三方開(kāi)源之IOS_Dialog_Library
- 解析ADT-20問(wèn)題 android support library
- Android?使用maven?publish插件發(fā)布產(chǎn)物(aar)流程實(shí)踐
- Android打包上傳AAR文件到Maven倉(cāng)庫(kù)的示例
- 發(fā)布?Android?library?到?Maven?解析
相關(guān)文章
Android如何使用正則表達(dá)式只保留字母數(shù)字
在做項(xiàng)目的過(guò)程中,使用正則表達(dá)式來(lái)匹配一段文本中的特定種類字符,是比較常用的一種方式,下面這篇文章主要給大家介紹了關(guān)于Android如何使用正則表達(dá)式只保留字母數(shù)字的相關(guān)資料,需要的朋友可以參考下2022-05-05
Android獲取WiFi網(wǎng)絡(luò)列表的流程步驟
在Android開(kāi)發(fā)中,我們經(jīng)常需要獲取設(shè)備附近可用的Wi-Fi網(wǎng)絡(luò)列表,這對(duì)于開(kāi)發(fā)需要基于Wi-Fi網(wǎng)絡(luò)進(jìn)行功能或者與其他設(shè)備進(jìn)行通信的應(yīng)用程序非常重要,本文將介紹如何在Android應(yīng)用程序中獲取Wi-Fi網(wǎng)絡(luò)列表,需要的朋友可以參考下2024-11-11
Android 中ListView的Item點(diǎn)擊事件失效的快速解決方法
這篇文章主要介紹了Android 中ListView的Item點(diǎn)擊事件失效的快速解決方法的相關(guān)資料,需要的朋友可以參考下2016-09-09
Android開(kāi)發(fā)OkHttp執(zhí)行流程源碼分析
這篇文章主要為大家介紹了Android開(kāi)發(fā)OkHttp執(zhí)行流程源碼分析,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2022-09-09
Android實(shí)現(xiàn)長(zhǎng)截屏功能
這篇文章主要為大家詳細(xì)介紹了Android實(shí)現(xiàn)長(zhǎng)截屏功能,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2021-01-01
Android Okhttp斷點(diǎn)續(xù)傳面試深入解析
這篇文章主要給大家介紹了關(guān)于Android Okhttp斷點(diǎn)續(xù)傳面試的相關(guān)資料,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家學(xué)習(xí)或者使用Android具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2019-06-06

