美文网首页安卓UI
自定义ToolBar

自定义ToolBar

作者: kim_liu | 来源:发表于2017-12-14 16:33 被阅读63次

    要点:

    1.自定义布局,添加到ToolBar中

    2.自定义属性,如Title,back键的图片

    3.自定义Class继承Toolbar,读取自定义属性,对Toolbar的布局显示,内容进行设置,最后需要对外公开一些函数用于设置标题、监听等。下面通过步骤来详细说明。

    下面就来进行自定义ToolBar的封装

    步骤:

    1.自定义布局toolbar.xml,这里是自定义的星座App的toolBar,比较简单,只有一个返回按钮,和一个title。如果是复杂点的项目还可以在toolBar中添加搜索栏,右侧按钮等。

    自定义属性文件attrs.xml

    2.在values文件夹下新建attrs.xml文件,用于存放一些自定义属性,如下图所示:

    其中leftButtonIcon,左侧按钮图标,类型为reference,引用类型。myTitle,标题,类型为string。showleftButton:是否显示左侧图标。

    3.自定义Class继承ToolBar,代码的主要工作是初始化界面还有监听器,对外公开操作的接口。

    初始化界面的时候需要把自定义属性的用户输入的值通过TintTypedArray读取进来,然后进行一些界面显示方面的设置。

    初始化监听器,需要用到接口的回调。具体步骤是公开的声明接口,接口里面有onClick方法;声明该接口的实现,作为Toolbar的私有成员变量;公开setListener方法,把传进来的Listener实现类赋值给这个成员变量;在必须的时候调用成员变量的onClick方法(如在左边的按钮的点击事件中调用)。

    公开一些函数,比如设置标题,设置返回键的图标等等,这里的toolbar较简洁,可以把图标设置成统一的回退键,只提供是否显示左侧按钮的函数。

    1)设置布局

    设置布局

    注意:在自定义View中获取上下文,一般使用getContext()方法。

    2)读取用户输入的自定义属性

    读取用户输入的自定义属性

    3)编写函数,设置title,是否显示左侧按钮

    设置公开函数

    4)将获取的用户输入的自定义属性设置到标题和左侧按钮上

    将自定义属性设置给控件

    5)设置左侧按钮的监听事件。

    设置监听

    4.使用ToolBar,在必须的地方如同一般的控件去使用就可以了,注意加上自定义属性的命名空间,一般为auto就可以了。

    使用自定义toolbar

    5.代码中使用

      toolbar = findViewById(R.id.toolbar);  

    toolbar.setOnLeftButtonClickListener(new CNToolbar.OnLeftButtonClickListener() {    

    @Override    

    public void onClick() {        

    toolbar.setShowSearchView();     } });

    相关文章

      网友评论

        本文标题:自定义ToolBar

        本文链接:https://www.haomeiwen.com/subject/noekwxtx.html