欢迎来到天天文库
浏览记录
ID:22462123
大小:57.38 KB
页数:8页
时间:2018-10-29
《自定义控件系列之应用篇——自定义标题栏控件(烟台杰瑞教育Android培训部原创)》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、----------专业最好文档,专业为你服务,急你所急,供你所需-------------文档下载最佳的地方自定义控件系列之应用篇——自定义标题栏控件一、问题概述通过之前的应用练习其实我们已经对自定义控件有了一定的掌握(查看自定义控件系列其余文章:基础篇、应用篇之圆形进度条),但还是要不断做一些应用锻炼思维和熟练度,接下来我们再运用自定义控件编写一个新闻列表的标题栏,该标题栏控件有三种样式,效果如图所示:样式1:样式2:样式3: 并且标题文字、左右图标可自由变换。实现步骤如下:----------专业最好文档,专业
2、为你服务,急你所急,供你所需-------------文档下载最佳的地方----------专业最好文档,专业为你服务,急你所急,供你所需-------------文档下载最佳的地方二、实现步骤1、编写自定义组件HeaderView扩展LinearLayoutpublicclassHeaderViewextendsLinearLayout{privateLayoutInflatermInflater;privateViewmHeader;privateLinearLayoutmLayoutLeftContainer;
3、//HeaderView控件左侧容器privateLinearLayoutmLayoutRightContainer;//HeaderView控件右侧容器privateTextViewmTitle;//标题privateLinearLayoutmLayoutRightImageButtonLayout;//右侧按钮布局privateImageButtonmRightImageButton;//右侧按钮//右侧按钮监听接口privateonRightImageButtonClickListenermRightImage
4、ButtonClickListener;//左侧按钮布局privateLinearLayoutmLayoutLeftImageButtonLayout;//左侧按钮privateImageButtonmLeftImageButton;//左侧按钮监听接口privateonLeftImageButtonClickListenermLeftImageButtonClickListener;publicenumHeaderStyle{//头部整体样式DEFAULT_TITLE,TITLE_LIFT_IMAGEBUTTON,
5、TITLE_RIGHT_IMAGEBUTTON,TITLE_DOUBLE_IMAGEBUTTON;}publicHeaderLayout(Contextcontext){super(context);init(context);}publicHeaderLayout(Contextcontext,AttributeSetattrs){super(context,attrs);init(context);}//实现初始化,加载布局文件publicvoidinit(Contextcontext){mInflater=La
6、youtInflater.from(context);mHeader=mInflater.inflate(R.layout.common_headerbar,null);addView(mHeader);initViews();}//初始化控件----------专业最好文档,专业为你服务,急你所急,供你所需-------------文档下载最佳的地方----------专业最好文档,专业为你服务,急你所急,供你所需-------------文档下载最佳的地方publicvoidinitViews(){mLayout
7、LeftContainer=(LinearLayout)findViewByHeaderId(R.id.header_layout_leftview_container);mLayoutRightContainer=(LinearLayout)findViewByHeaderId(R.id.header_layout_rightview_container);mHtvSubTitle=(TextView)findViewByHeaderId(R.id.header_htv_subtitle);}publicViewf
8、indViewByHeaderId(intid){returnmHeader.findViewById(id);}//设置控件样式publicvoidinitStyle(HeaderStylehStyle){switch(hStyle){caseDEFAULT_TITLE:defaultTitle();break;caseTITLE_LIFT_
此文档下载收益归作者所有