当前位置: 移动技术网 > IT编程>移动开发>Android > Android Support Library 标题栏(Toolbar)滚动效果实现方法

Android Support Library 标题栏(Toolbar)滚动效果实现方法

2019年07月24日  | 移动技术网IT编程  | 我要评论

浪漫官途,昆明特警遭伏击全牺牲,洞朗地区

首先来个效果图  

 布局文件代码

在布局文件中,coordinatorlayout作为布局文件根节点,appbarlayout包含在coordinatorlayout中,toolbar在appbarlayout节点下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)滚动效果实现方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持移动技术网。

如对本文有疑问,请在下面进行留言讨论,广大热心网友会与你互动!! 点击进行留言回复

相关文章:

验证码:
移动技术网