亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定

Android開發最佳實踐(三)

6)使用AppBarLayout并处理滑动手势

AppBarLayout是一个在android.support.design兼容包(这里有关于该兼容包的 官方博客介绍)里面的新推出的组件,它是一个垂直方向的LinearLayout,包装了很多Material Design的设计元素,例如滑动手势的处理。我们可以使用app:layout_scrollFlags这样的标签来设置滑动的行为表现。关于App Bar,官方还有这样一段描述: 

使用AppBarLayout需要注意下面几个要点:


  • 首先,AppBarLayout必须作为CoordinatorLayout的直接子View;

  • 其次,在AppBarLayout里面必须包含一个ToolBar;

  • 最后,在CoordinatorLayout里面可以添加那些可以滑动的组件,例如RecyclerView。


一个标准的布局文件应该是类似下面结构的: 

我们需要注意,在Toolbar里面设置的layout_scrollFlags会影响到滑动之后的显示效果,请看下面的具体解释: 

7)使用SearchView来实现搜索功能

关于在使用搜索的时候及时显示给用户的候选词,会需要根据数据的类型以及具体的情况做不同的处理,这里先暂时不讨论那一块的内容。

上面的图示已经清楚的演示了使用SearchView处理搜索的通常情况,关于如何实现这个功能,需要做到以下几个步骤:


  • 在Menu的XML文件中,声明使用SearchView。


  • 在onCreateOptionsMenu的回调函数里面获取到SearchView,并设置监听(请注意使用MenuItemCompat的那行代码,否者会出现很多兼容性问题,获取不到这个View等等奇怪的BUG),在监听回调里面处理业务逻辑。

至此,其实就已经实现了一个基础的搜索功能。但是,如果为了能够让自己的应用的某些功能被Android系统的Search功能检索到,我们就需要做更进一步的操作,例如定义Searchable,实现一个SearchableActivity,响应系统的Search行为等等。国内的应用很少会去关注这个功能,这里就不展开了,感兴趣点击下面的链接进一步学习:https://developer.android.com/guide/topics/search/index.html

8)Navigation Drawer, DrawerLayout, NavigationView

Navigation Drawer是Material Design当中很重要的一种设计元素,为了能够快速的实现这种设计,Android在新的design support包里面为我们提供了DrawerLayout与NavigationView。

实现这样的一个功能,我们需要在XML中写下类似下面的布局文件。 

在NavigationView中有两个重要的标签,app:headerLayout与app:menu,分别代表了拉出菜单的顶部布局与下面的菜单项列表。创建菜单项列表,可以使用类似下面的MenuItem文件: 

android:checked表示当前选中的Item,会被系统Highlight出来。除了上面简单的平铺的菜单,还可以使用菜单嵌套的方式实现多级的菜单。关于点击具体某个菜单的时候的监听与响应,需要做如下的设置:

除了点击菜单事件,我们还需要处理整个侧滑菜单的打开与关闭事件,当我们给DrawerLayout设置了setDrawerListener之后,可以得到两个回调。

原文链接:http://www.apkbus.com/blog-822415-76462.html

點擊查看更多內容
TA 點贊

若覺得本文不錯,就分享一下吧!

評論

作者其他優質文章

正在加載中
  • 推薦
  • 評論
  • 收藏
  • 共同學習,寫下你的評論
感謝您的支持,我會繼續努力的~
掃碼打賞,你說多少就多少
贊賞金額會直接到老師賬戶
支付方式
打開微信掃一掃,即可進行掃碼打賞哦
今天注冊有機會得

100積分直接送

付費專欄免費學

大額優惠券免費領

立即參與 放棄機會
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號

舉報

0/150
提交
取消