android baseActivity
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的更多相关文章
- Android 谈谈封装那些事 --BaseActivity 和 BaseFragment(二)
1.前言 昨天谈了BaseActivity的封装,Android谈谈封装那些事--BaseActivity和BaseFragment(一)有很多小伙伴提了很多建议,比如: 通用标题栏可以自定义Vi ...
- Android带侧滑菜单和ToolBar的BaseActivity
写Android的时候,可能有多个界面.在风格统一的软件中,写Activity时会有很多重复.例如我所在软工课程小组的项目:Github链接 ,里面的TaskListActivity和TeacherL ...
- android应用框架搭建------BaseActivity
网上有很多介绍BaseActivity的博文,多数是从应用的角度去描述的. 这里,我所介绍的BaseActivity不同,主要从框架搭建的角度去介绍BaseActivity的使用. 先看代码: /** ...
- Android项目实战(三十七):Activity管理及BaseActivity的实现
Ps:7-10月 完成公司两个app项目上架.漏掉的总结 开始慢慢补上. 一.写一个Activity的管理类 1.单例模式,以栈(先进后出)的形式存储Activity对象 public class A ...
- Android:自定义BaseActivity基类
使用BaseActivity可以封装一些重复代码例如设置标题栏颜色,封装一些工具类... 主要功能: 封装Toast 新建一个BaseActivity继承自Activity package com.o ...
- Android 6.0 权限知识学习笔记
最近在项目上因为6.0运行时权限吃了亏,发现之前对运行时权限的理解不足,决定回炉重造,重新学习一下Android Permission. 进入正题: Android权限 在Android系统中,权限分 ...
- Android调用微信登陆、分享、支付
前言:用了微信sdk各种痛苦,感觉比qq sdk调用麻烦多了,回调过于麻烦,还必须要在指定包名下的actvity进行回调,所以我在这里写一篇博客,有这个需求的朋友可以借鉴一下,以后自己别的项目有用到也 ...
- Android系统默认对话框添加图片
开发工具Android Studio 今天公司UI要求软件对话框改成加图片的,以前没有做过,所以就学习了一下,废话不多说, 看效果: 创建XML文件dialog_lsit_item.xml <L ...
- Android MVP+Retrofit+RxJava实践小结
关于MVP.Retrofit.RxJava,之前已经分别做了分享,如果您还没有阅读过,可以猛戳: 1.Android MVP 实例 2.Android Retrofit 2.0使用 3.RxJava ...
随机推荐
- WITH AS的含义
一.WITH AS的含义WITH AS短语,也叫做子查询部分(subquery factoring),可以让你做很多事情,定义一个SQL片断,该SQL片断会被整个SQL语句所用到.有的时候,是为了让S ...
- WebLogic 的一些基本概念
WebLogic 中的基本概念 上周参加了单位组织的WebLogic培训,为了便于自己记忆,培训后,整理梳理了一些WebLogic的资料,会陆续的发出来,下面是一些基本概念. Domain : 域是作 ...
- [已解决] windows 80端口被占用
看下是不是IIS开着,如果是关掉就OK拉 原文地址:http://www.cnblogs.com/gifisan/p/5822156.html
- Java虚拟机学习(4):对象内存分配与回收
对象优先在Eden上分配 大多数情况下,对象优先在新生代Eden区域中分配.当Eden内存区域没有足够的空间进行分配时,虚拟机将触发一次 Minor GC(新生代GC).Minor GC期间虚拟机将E ...
- 如何利用.snk文件生成DLL文件中的Publickeytoken
1.在该路径下C:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A\bin查找是否有sn.exe. 没有的话,从网上下载,注意需要的版本. 2.打开c ...
- asp.net 之 数据库导入treeview
using System; using System.Collections.Generic; using System.Linq; using System.Web; using System.We ...
- [Machine-Learning] 熟悉 Numpy
Numpy 是 Python 中的一个模块,主要用于处理数学和计算相关的问题,这里是一个入门的介绍. 导入 习惯上可以这样导入: import numpy as np 在 machine learni ...
- 微信小程序注册app
App() App() 函数用来注册一个小程序.接受一个 object 参数,其指定小程序的生命周期函数等. object参数说明 onLaunch Function 生命周期函数--监听小程序初 ...
- 前端工程师的PS默认工作区
右侧依次是信息.图层.历史记录,如下图:
- IE7下总提示" 缺少标识符、字符串或数字"
用Jquery easyUI ,IE7下列表显示不了,总提示缺少标识符.字符串或数字.而google,maxthon,firefox,IE10等却没有问题. 原因是Json末尾多了个逗号.IE7下js ...