package newdemo.jeno.designdemo.activitynew;

import android.os.Bundle;
import android.support.annotation.Nullable;
import android.support.v7.app.AppCompatActivity;
import android.support.v7.widget.Toolbar;
import android.view.View;
import android.widget.ImageView;
import android.widget.TextView; import newdemo.jeno.designdemo.R;
import newdemo.jeno.designdemo.view.ToolBarBean; /**
*
*/
public abstract class BaseActivity extends AppCompatActivity { private TextView tvTitle;
private ImageView ivTopBack;
private Toolbar toolbar;
private ToolBarBean toolBarBean; @Override
protected void onCreate(@Nullable Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
//此为积累的activity
setContentView(getLayout());
inintData();
} /**
* 得到布局文件
*
* @return
*/
public abstract int getLayout(); /**
* 初始化view
*/
protected abstract void inintData(); protected <T extends View> T findView(int resourcesId) {
return (T) findViewById(resourcesId);
} protected ToolBarBean getToolbar() {
if (toolBarBean == null) {
toolbar = (Toolbar) findViewById(R.id.toolbar);
toolBarBean = new ToolBarBean(this, toolbar);
}
return toolBarBean;
} }

/**
*
*/
public class ToolBarBean {
private TextView tvTitle;
private ImageView ivToolbarBack;
private AppCompatActivity context;
private Toolbar toolbar; public ToolBarBean(AppCompatActivity context, Toolbar toolbar) {
this.context = context;
this.toolbar = toolbar;
context.setSupportActionBar(toolbar);
context.getSupportActionBar().setDisplayShowTitleEnabled(false);
ivToolbarBack = (ImageView) toolbar.findViewById(R.id.iv_topBack);
tvTitle = (TextView) toolbar.findViewById(R.id.tvTitle); } /**
* 进行回退
*/
public ToolBarBean setBack() {
ivToolbarBack.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
context.finish();
}
});
return this;
} /**
* 设置标题
*/
public ToolBarBean setTitle(String title) {
tvTitle.setText(title);
return this;
} /**
* 自定义的回退
*/
public ToolBarBean setCustomBack(View.OnClickListener onClickListener) {
ivToolbarBack.setOnClickListener(onClickListener);
return this;
}
}
    }
}
												

android baseActivity的更多相关文章

  1. Android 谈谈封装那些事 --BaseActivity 和 BaseFragment(二)

      1.前言 昨天谈了BaseActivity的封装,Android谈谈封装那些事--BaseActivity和BaseFragment(一)有很多小伙伴提了很多建议,比如: 通用标题栏可以自定义Vi ...

  2. Android带侧滑菜单和ToolBar的BaseActivity

    写Android的时候,可能有多个界面.在风格统一的软件中,写Activity时会有很多重复.例如我所在软工课程小组的项目:Github链接 ,里面的TaskListActivity和TeacherL ...

  3. android应用框架搭建------BaseActivity

    网上有很多介绍BaseActivity的博文,多数是从应用的角度去描述的. 这里,我所介绍的BaseActivity不同,主要从框架搭建的角度去介绍BaseActivity的使用. 先看代码: /** ...

  4. Android项目实战(三十七):Activity管理及BaseActivity的实现

    Ps:7-10月 完成公司两个app项目上架.漏掉的总结 开始慢慢补上. 一.写一个Activity的管理类 1.单例模式,以栈(先进后出)的形式存储Activity对象 public class A ...

  5. Android:自定义BaseActivity基类

    使用BaseActivity可以封装一些重复代码例如设置标题栏颜色,封装一些工具类... 主要功能: 封装Toast 新建一个BaseActivity继承自Activity package com.o ...

  6. Android 6.0 权限知识学习笔记

    最近在项目上因为6.0运行时权限吃了亏,发现之前对运行时权限的理解不足,决定回炉重造,重新学习一下Android Permission. 进入正题: Android权限 在Android系统中,权限分 ...

  7. Android调用微信登陆、分享、支付

    前言:用了微信sdk各种痛苦,感觉比qq sdk调用麻烦多了,回调过于麻烦,还必须要在指定包名下的actvity进行回调,所以我在这里写一篇博客,有这个需求的朋友可以借鉴一下,以后自己别的项目有用到也 ...

  8. Android系统默认对话框添加图片

    开发工具Android Studio 今天公司UI要求软件对话框改成加图片的,以前没有做过,所以就学习了一下,废话不多说, 看效果: 创建XML文件dialog_lsit_item.xml <L ...

  9. Android MVP+Retrofit+RxJava实践小结

    关于MVP.Retrofit.RxJava,之前已经分别做了分享,如果您还没有阅读过,可以猛戳: 1.Android MVP 实例 2.Android Retrofit 2.0使用 3.RxJava ...

随机推荐

  1. CSS3:transform translate transition 这些都是什么?

    transform:一个属性名称,即CSS3 2D转换 属性. translate:一个属性函数,用法是translate(dx,dy) div { transform: translate(50px ...

  2. tomcat普通用户运行

    网站绑定域名后直接通过域名访问使用的是80端口,因此tomcat须监听80端口,而为了安全起见tomcat一般不用root身份运行,综上,需要以普通用户来运行监听80端口的tomcat.此时就会启动失 ...

  3. Temporary ASP.NET 拒绝访问

    CS0016: 未能写入输出文件“c:\Windows\Microsoft.NET\Framework\v4.0.30319\Temporary ASP.NET Files\root\dd813f66 ...

  4. Auty自动化测试框架第七篇——添加动作库和常量文件库

    [本文出自天外归云的博客园] 添加动作库 因为有很多调用的action类如果一直保存在utils中会让utils库不可维护,所以规定utils库中只放和框架本身有关的工具类,和脚本内容相关的工具类都放 ...

  5. R之data.table -melt/dcast(数据合并和拆分)

    p.p1 { margin: 0.0px 0.0px 0.0px 0.0px; font: 30.0px "Helvetica Neue"; color: #323333 } p. ...

  6. 富文本常用封装(NSAttributedString浅析)

    最近经常遇到关于富文本的一些需求,特此封装了几个最常用的API分享给大家,但授之以鱼不如授之以渔,接下来会顺便谈谈NSAttributedString,确保你读了本篇文章能够自己封装关于富文本的API ...

  7. 一个webpack,react,less,es6的DEMO

    1.package.json如下 { "name": "demo", "version": "1.0.0", " ...

  8. Android 利用xUtils框架实现对sqllite的增删改查

    首先下载xUtils,下载地址:https://github.com/wyouflf/xUtils  把下载好的文件压缩,把里面的jar包拷进项目中如图所示: 这里新建一个User类进行测试增删改查 ...

  9. C语言语法之关键字

    注:该内容整理自以下链接. http://www.cnblogs.com/yezhenhan/archive/2011/10/16/2214420.html 由ANSI标准定义的C语言关键字共32个: ...

  10. bzoj题解汇总(1052~1061)

    bzoj1052: 贪心 bzoj1053: DFS bzoj1054: 加深迭代搜索 bzoj1055:区间判定性dp bzoj1056: Treap bzoj1057: 二分,单调队列 / ST表 ...