- 浏览: 542745 次
- 性别:
- 来自: 北京
-
文章分类
最新评论
-
tangyunliang:
大哥你太历害了谢谢
Android基于XMPP Smack Openfire开发IM【四】初步实现两个客户端通信 -
u013015029:
LZ,请问下,在// 添加消息到聊天窗口 , 这里获取Ed ...
Android基于XMPP Smack Openfire开发IM【四】初步实现两个客户端通信 -
endual:
怎么保持会话,我搞不懂啊
Android基于XMPP Smack Openfire开发IM【一】登录openfire服务器 -
donala_zq:
显示:[2013-11-30 11:50:36 - Andro ...
android-----------新浪微博 -
donala_zq:
哥,运行不了啊
android-----------新浪微博
相信大家在开发Android应用的过程中肯定碰到过很多重复的工作,写着重复的代码,有时候连布局文件也是一样,需要重复的劳动,那么这样对于我们程序来讲肯定是很累很繁琐的一件事,所以我们在写代码的时候是否需要去考虑让我们写更少的代码,程序员要学会偷懒,否则……..
在开发应用程序的时候我们的设计其实整体的样式是统一,那么我们就可以写一些公用的代码,这样对程序来讲也便于后面的维护,废话也不多说了,相信大家肯定也懂的,今天我分享给大家的就是定制一个属于自己的BaseActivity,这个BaseActivity主要封装了一些公用的代码,例如我们在开发过程中上面的那些标题和按钮肯定都要有的,所以我们可以把这些公用的都写在这个BaseActivity里,其他功能的Activity以后都继承这个BaseActivity.
接下来再给出其中的一个用法就可以了:
在开发应用程序的时候我们的设计其实整体的样式是统一,那么我们就可以写一些公用的代码,这样对程序来讲也便于后面的维护,废话也不多说了,相信大家肯定也懂的,今天我分享给大家的就是定制一个属于自己的BaseActivity,这个BaseActivity主要封装了一些公用的代码,例如我们在开发过程中上面的那些标题和按钮肯定都要有的,所以我们可以把这些公用的都写在这个BaseActivity里,其他功能的Activity以后都继承这个BaseActivity.
/** * 继承于Activity用于以后方便管理 * * @author coder * */ public class BaseActivity extends Activity { private View titleView; private TextView tv_title; private Button btn_left, btn_right; private LinearLayout ly_content; // 内容区域的布局 private View contentView; @Override protected void onCreate(Bundle savedInstanceState) { // TODO Auto-generated method stub super.onCreate(savedInstanceState); setContentView(R.layout.common_title); titleView = findViewById(R.id.titleView); tv_title = (TextView) titleView.findViewById(R.id.tv_title); btn_left = (Button) titleView.findViewById(R.id.btn_left); btn_right = (Button) titleView.findViewById(R.id.btn_right); ly_content = (LinearLayout) findViewById(R.id.ly_content); } /*** * 设置内容区域 * * @param resId * 资源文件ID */ public void setContentLayout(int resId) { LayoutInflater inflater = (LayoutInflater) getSystemService(Context.LAYOUT_INFLATER_SERVICE); contentView = inflater.inflate(resId, null); LayoutParams layoutParams = new LayoutParams(LayoutParams.FILL_PARENT, LayoutParams.FILL_PARENT); contentView.setLayoutParams(layoutParams); contentView.setBackgroundDrawable(null); if (null != ly_content) { ly_content.addView(contentView); } } /*** * 设置内容区域 * * @param view * View对象 */ public void setContentLayout(View view) { if (null != ly_content) { ly_content.addView(view); } } /** * 得到内容的View * * @return */ public View getLyContentView() { return contentView; } /** * 得到左边的按钮 * * @return */ public Button getbtn_left() { return btn_left; } /** * 得到右边的按钮 * * @return */ public Button getbtn_right() { return btn_right; } /** * 设置标题 * * @param title */ public void setTitle(String title) { if (null != tv_title) { tv_title.setText(title); } } /** * 设置标题 * * @param resId */ public void setTitle(int resId) { tv_title.setText(getString(resId)); } /** * 设置左边按钮的图片资源 * * @param resId */ public void setbtn_leftRes(int resId) { if (null != btn_left) { btn_left.setBackgroundResource(resId); } } /** * 设置左边按钮的图片资源 * * @param bm */ public void setbtn_leftRes(Drawable drawable) { if (null != btn_left) { btn_left.setBackgroundDrawable(drawable); } } /** * 设置右边按钮的图片资源 * * @param resId */ public void setbtn_rightRes(int resId) { if (null != btn_right) { btn_right.setBackgroundResource(resId); } } /** * 设置右边按钮的图片资源 * * @param drawable */ public void setbtn_rightRes(Drawable drawable) { if (null != btn_right) { btn_right.setBackgroundDrawable(drawable); } } /** * 隐藏上方的标题栏 */ public void hideTitleView() { if (null != titleView) { titleView.setVisibility(View.GONE); } } /** * 隐藏左边的按钮 */ public void hidebtn_left() { if (null != btn_left) { btn_left.setVisibility(View.GONE); } } /*** * 隐藏右边的按钮 */ public void hidebtn_right() { if (null != btn_right) { btn_right.setVisibility(View.GONE); } } public BaseActivity() { } }
接下来再给出其中的一个用法就可以了:
public class TwoBtnActivity extends BaseActivity { @Override protected void onCreate(Bundle savedInstanceState) { // TODO Auto-generated method stub super.onCreate(savedInstanceState); setContentLayout(R.layout.two); //设置标题 setTitle("两个按钮"); // 为左边的按钮增加监听事件 getbtn_left().setOnClickListener(new OnClickListener() { @Override public void onClick(View v) { onBackPressed(); } }); } }
发表评论
-
Android中如何模拟一次点击(touch)事件
2014-05-06 10:41 0在Android中有时需要模拟某一个View的touch事件, ... -
Android程序Crash时的异常上报
2014-04-28 18:15 0http://blog.csdn.net/singwhatiw ... -
android程序中证书签名校验的方法
2014-04-28 17:58 2039android程序中证书签名校验的方法一 2013-02 ... -
MD5理解错了,哎
2014-03-17 14:14 0MD5只对数据加密是无法解密的,也就是说,你把100加密后,就 ... -
Android 获取网络时间
2014-03-12 11:42 2054Android 获取网络时间 在网上看到的最常见的方式有: ... -
SQLite清空表并将自增列归零
2014-03-05 18:02 1580SQLite清空表并将自增列归零 作者:Zhu Yanfeng ... -
Handler小看一下
2013-11-11 16:42 0android handler调用post方法还是阻塞 su ... -
Frame Animation小看一下
2013-10-12 16:30 834Demo运行效果图: 源码: -
动画小学一下
2013-10-12 16:14 762转自: http://www.eoeandroid.com/f ... -
Android 动画之ScaleAnimation应用详解
2013-10-12 15:49 1040===============eoeAndroid社区推荐:= ... -
android开发中的一个工具类
2013-06-19 16:04 0package com.wanpu.login.dialog; ... -
android TextView怎么设置个别字体颜色并换行?
2013-06-20 09:25 1723(1)、TextView 设置个别字体颜色 TextView ... -
Android开发之文件下载,状态时显示下载进度,点击自动安装
2013-05-07 15:38 1476在进行软件升级时,需要进行文件下载,在这里实现自定义的文件下载 ... -
android中的状态保存
2013-04-07 14:21 994package com.zzl.call; import ... -
android动画基础:tween动画
2013-04-06 11:21 1289工程结构图: [img] [/img] 四个动画的xml ... -
面试中遇到的几个问题
2013-06-09 11:56 1048SAX与DOM之间的区别 SAX ( ... -
Android获取其他包的Context实例,然后调用它的方法,反射!!!
2013-03-25 10:32 1239Android中有Context的概念,想必大家都知道。Con ... -
Android的内存机制和常见泄漏情形
2013-03-06 16:55 833一、 Android的内存机制 Android的程序由Ja ... -
JUnit测试小小demo
2013-03-06 16:37 1209运行效果图: [img] [/img] 项目结构图 ... -
android开发中的异常小工具
2013-03-04 15:53 915package com.zzl.tools; impor ...
相关推荐
在Android应用开发中,基础框架的设计对于项目的可维护性和代码复用性至关重要。"Android-BaseFramework"就是这样一个专门针对BaseActivity和BaseFragment进行整合的库,旨在简化开发者的工作流程,提高开发效率。这...
在Android应用中,Activity是用户界面的主要组件,用于处理用户交互和展示UI。每个特定功能的Activity可能会有共有的初始化工作,如设置主题、布局、权限检查、数据加载等。这些共性操作可以通过BaseActivity来实现...
在Android应用开发中,开发者经常会面临重复编写相似代码的问题,比如初始化控件、处理网络请求、数据解析等。为了提高代码复用性、减少冗余和提升开发效率,开发框架应运而生。"Android-一个共享的开发框架包含各种...
在Android应用开发中,`BaseActivity`是一种常见的做法,它是一个基础活动类,通常用于封装共性的功能,以便在其他具体活动(子类)中复用。通过创建`BaseActivity`,开发者可以避免代码重复,提高代码的可维护性和...
在Android应用开发中,`BaseActivity`是一种常见的设计模式,用于实现通用功能的基类,以便其他活动(Activities)可以继承它,从而避免在每个活动中重复编写相同的代码。这种做法有助于提升代码的复用性和可维护性...
总之,自定义标题栏是Android应用开发中提高用户体验和界面美观度的一个重要环节。通过创建一个BaseActivity并实现必要的逻辑,我们可以轻松地在各个活动之间实现标题栏的统一风格和交互,同时保持代码的整洁和模块...
在Android应用中,通常会有一个基类` BaseActivity`,用于复用通用功能,如权限管理、状态栏设置等。在此项目中,可以将网络请求的调用方法集成到`BaseActivity`,如`doNetworkRequest()`,并且提供统一的回调处理...
在Android应用开发中,`TopBaseActivity`是一个常见的设计模式,用于封装和抽象出所有Activity共有的标题栏功能。这个基类通常包含了标题栏的基本结构、样式、内容设置以及交互逻辑,使得子类Activity能够更方便地...
在Android应用开发中,Model-View-Presenter(MVP)模式是一种常见的设计模式,它将业务逻辑、数据处理和用户界面进行了分离,提高了代码的可读性和可维护性。MVP封装则是对这一模式的进一步优化,使得开发者可以更...
在Android应用开发中,快速开发和代码复用是提高效率的关键。`BaseTemplate`是一种常见的设计模式,用于统一和简化应用程序中的基础组件,如Activity、Fragment和Application。本篇文章将探讨如何定制`BaseTemplate`...
《深入解析:Android应用源码——百度推聊应用》 在Android开发领域,研究和学习优秀的开源项目是提升技能的有效途径。本篇文章将基于“Android应用源码之百度推聊应用”的压缩包,深入探讨其背后的开发技术与设计...
在Android应用开发中,`BaseActivity`和`ToolBar`是两个非常重要的概念,它们能够帮助开发者提高代码的复用性和可维护性。本篇将详细阐述`BaseActivity`和`ToolBar`的使用方法以及如何进行封装,以实现更加高效、...
在Android应用开发中,标题栏(Toolbar)是用户界面中的重要组成部分,它为用户提供应用程序的标识、导航功能以及操作选项。本教程将详细介绍如何通过简单的封装实现一个适用于各种场景的通用标题栏。参考链接:...
在Android应用开发中,动画效果是提升用户体验的重要一环,特别是在数据加载、界面切换等场景中,优雅的加载动画能够使用户感到等待的过程更加愉快。本文将深入探讨名为"LoadAnimTemplate"的Android简易框架,它专为...
在Android应用开发中,基础代码库常常被用来作为模板或者框架,帮助开发者快速构建应用程序,减少重复工作。标题提到的"Base:一些基本代码的库,例如 BaseAdapter、BaseActivity、BaseFragment",这些都是Android...
**为你的Android应用定制属于你的BaseActivity** - **知识点**: Activity生命周期管理、自定义Activity基类的方法和好处。 - **实践意义**: 通过创建一个通用的BaseActivity,可以简化Activity的管理和代码复用,...
库中的BaseActivity可能是对Android原生Activity的扩展,封装了如权限请求、主题设置、导航栏定制等常见操作,让开发者可以更专注于业务逻辑的实现。 Fragment是用于支持多屏适配和复杂的UI结构的组件。...
本篇将深入探讨"android 实时监测网络常用工具类",包括`NetWorkBroadcastReceiver`、`NetworkUtils`以及`BaseActivity`,并阐述它们在监测网络状态中的作用。 首先,`NetWorkBroadcastReceiver`是一个实现了...
在Android应用开发中,有时我们需要为所有的Activity提供一个全局统一的菜单,以便用户可以在任何页面进行特定的操作。这个过程可以通过自定义一个BaseActivity并继承它来实现,将自定义的菜单逻辑封装在...
在Android应用开发中,Activity是Android四大组件之一,它是用户界面的主要载体,负责与用户进行交互。本篇文章将深入探讨Activity的子类化及其在实际开发中的应用。通过子类化Activity,我们可以更好地组织代码,...