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 ...
随机推荐
- 十六、Java基础---------集合框架之Set
写在前面的话,这篇文章在昨天就写好了,今天打开的时候一不小心将第二天的文章粘贴到了这篇文章,很不幸的是除了标题之外依然面目全非,今天带着沉痛的心情再来写这篇文章! 上篇文章介绍了Collection体 ...
- Fragment的隐藏与显示
package com.bwie.helpdemo; import com.bwie.fragment.BillFrag; import com.bwie.fragment.IndexFrag; im ...
- find函数
Python find() 方法检测字符串中是否包含子字符串 str ,如果指定 beg(开始) 和 end(结束) 范围,则检查是否包含在指定范围内,如果包含子字符串返回开始的索引值,否则返回-1. ...
- latex 异或
用\lxor \(\lxor\) 用\veebar \(\veebar\) 用\oplus \(\oplus\) ... 怎么不是我想象的那样... 算了.
- WordPress搬家教程:换空间与换域名
WordPress搬家教程:换空间与换域名 由于本人博客空间8月份已到期,便新购一个虚拟主机想进行WordPress搬家,于是特意在网上查了些WordPress搬家教程,进行了综合总结,并结合这次实操 ...
- 浅谈用ModelSim+Synplify+Quartus来实现Altera FPGA的仿真
浅谈用ModelSim+Synplify+Quartus来实现Altera FPGA的仿真 工作内容: Mentor公司的ModelSim是业界最优秀的HDL语言仿真软件,它能提供友好的仿真环境,是业 ...
- 【leetcode❤python】 203. Remove Linked List Elements
#-*- coding: UTF-8 -*- # Definition for singly-linked list.# class ListNode(object):# def __init ...
- 关于无法把程序(Adobe Fireworks CS5)添加到打开方式的解决办法
关于无法把程序(Adobe Fireworks CS5)添加到打开方式的解决办法 最近换了新版的Adobe Fireworks CS5,发现打开图片文件时在右键“打开方式”里仍然是以前的Firewor ...
- Java与JavaScript的区别
(1)执行方式不同 java:是编译语言,需要先编译再执行 JavaScript:无需编译,直接执行 (2)数据类型不同 java:强数据类型语言 JavaScript:弱数据类型语言 (3)运行位置 ...
- 关于Python中输出中文的一点疑问
#encoding=gb2312 import urllib import re def getHtml(url): page = urllib.urlopen(url) html = page.re ...