1. 标题分类

1.1 普通标题

1.1.1 标题内容管理

1.1.2 帮助和返回的按钮

1.2 未登录的标题

1.3 登陆中的标题

1.4 登陆完成后的标题

package com.tsh.lottery.view.manager;

import com.tsh.lottery.R;

import android.app.Activity;
import android.view.View;
import android.widget.RelativeLayout;
/**
* 标题管理
* @author taoshihan
*
*/
public class TitleManager {
private RelativeLayout generalTitle,unloginTitle,loginTitle;
private static TitleManager instance=new TitleManager();
private TitleManager(){}
public static TitleManager getInstance(){
return instance;
}
/**
* 初始化标题
* @param activity
*/
public void init(Activity activity){
generalTitle=(RelativeLayout) activity.findViewById(R.id.title_general);
loginTitle=(RelativeLayout) activity.findViewById(R.id.title_login);
unloginTitle=(RelativeLayout) activity.findViewById(R.id.title_unlogin);
}
/**
* 隐藏所有标题
*/
public void hideTitle(){
generalTitle.setVisibility(View.GONE);
unloginTitle.setVisibility(View.GONE);
loginTitle.setVisibility(View.GONE);
}
/**
* 显示通用的标题
*/
public void showGeneralTitle() {
hideTitle();
generalTitle.setVisibility(View.VISIBLE);
}
/**
* 显示未登录的标题
*/
public void showUnloginTitle() {
hideTitle();
unloginTitle.setVisibility(View.VISIBLE);
}
/**
* 显示已经登陆的标题
*/
public void showLoginTitle() {
hideTitle();
loginTitle.setVisibility(View.VISIBLE);
}
}
  1. 使用ActionBar

2.1 清单文本配置

2.2 新建menu资源文件

2.3 Activity中设置

清单文件:

设置主题是Theme.Holo下面的就可以

<application  android:theme="@android:style/Theme.Holo.Light" >

菜单文件:

item里面的showAsAction属性必须填,例如:always是总是显示的意思,never不显示

actionViewClass 属性,可以设置View控件,例如:android.widget.SearchView 是显示搜索

解决overflow的按钮不可见问题:

当存在物理menu键的时候,会出现这个问题,只有按物理menu键,隐藏的按钮从下面出来

使用反射修改ViewConfiguration类的sHasPermanentMenuKey静态变量

    /**
* 添加菜单
*/
@Override
public boolean onCreateOptionsMenu(Menu menu) {
MenuInflater inflater=getMenuInflater();
inflater.inflate(R.menu.menu, menu);
return super.onCreateOptionsMenu(menu);
}
/**
* 解决ActionBar的问题
*/
public void setOverflowMenuQues(){
ViewConfiguration viewConfiguration=ViewConfiguration.get(this);
try {
Field field=ViewConfiguration.class.getDeclaredField("sHasPermanentMenuKey");
field.setAccessible(true);
field.setBoolean(viewConfiguration, false);
} catch (Exception e) {
e.printStackTrace();
}
}
<?xml version="1.0" encoding="utf-8"?>
<menu xmlns:android="http://schemas.android.com/apk/res/android" > <item
android:id="@+id/menu_search"
android:actionViewClass="android.widget.SearchView"
android:showAsAction="always"
android:title="搜索"/>
<item
android:showAsAction="always"
android:id="@+id/menu_user"
android:title="用户"/>
<item
android:showAsAction="never"
android:id="@+id/menu_cart"
android:title="购物"/>
<item
android:showAsAction="always"
android:id="@+id/menu_edit"
android:title="编辑"/>
<item
android:showAsAction="never"
android:id="@+id/menu_setting"
android:title="设置"/> </menu>

[android] 标题部分管理的更多相关文章

  1. Android TelephonyManager电话管理器

    今天介绍一下Android的电话管理器--TelephonyManager,TelephonyManager管理手机通话状态.电话网络信息的服务类,获取TelephonyManager: Teleph ...

  2. android 进程/线程管理(一)----消息机制的框架

    一:android 进程和线程 进程是程序运行的一个实例.android通过4大主件,弱化了进程的概念,尤其是在app层面,基本不需要关系进程间的通信等问题. 但是程序的本质没有变,尤其是多任务系统, ...

  3. android 进程/线程管理(二)----关于线程的迷思

    一:进程和线程的由来 进程是计算机科技发展的过程的产物. 最早计算机发明出来,是为了解决数学计算而发明的.每解决一个问题,就要打纸带,也就是打点. 后来人们发现可以批量的设置命令,由计算机读取这些命令 ...

  4. android 进程/线程管理(三)----Thread,Looper / HandlerThread / IntentService

    Thread,Looper的组合是非常常见的组合方式. Looper可以是和线程绑定的,或者是main looper的一个引用. 下面看看具体app层的使用. 首先定义thread: package ...

  5. android 进程/线程管理(四)续----消息机制的思考(自定义消息机制)

    继续分析handler 和looper 先看看handler的 public void dispatchMessage(Message msg) { if (msg.callback != null) ...

  6. android 进程/线程管理(四)----消息机制的思考(自定义消息机制)

    关于android消息机制 已经写了3篇文章了,想要结束这个系列,总觉得少了点什么? 于是我就在想,android为什么要这个设计消息机制,使用消息机制是现在操作系统基本都会有的特点. 可是andro ...

  7. android的布局管理器

    理论上通过setContentView(view)能够把一个view设置到activity中,但当你有很多个view控件的时候,就需要用android的布局管理器来管理view控件了. android ...

  8. Android 核心分析之十二Android GEWS窗口管理之基本架构原理

    Android GWES之窗口管理之基本构架原理 Android的窗口管理是C/S模式的.Android中的Window是表示Top Level等顶级窗口的概念.DecorView是Window的To ...

  9. Android 之 内存管理-查看内存泄露(三)

    概述 在android的开发中,要时刻主要内存的分配和垃圾回收,因为系统为每一个dalvik虚拟机分配的内存是有限的,在google的G1中,分配的最大堆大小只有16M,后来的机器一般都为24M,实在 ...

随机推荐

  1. DOM基本操作

    1.查看滚动条的滚动距离 document.body.scrollLeft与document.documentElement.scrollLeft是冲突的,一个有值另一个的值就为0, ▲兼容性比较混乱 ...

  2. 【Oracle】安装注意事项

    装了卸载,卸载装,一会儿缺少配置功能,一会对一些莫名的命令操作不能顺利执行.于是还是选择了重装系统.(策略,与其纠结那些个抛错命令和那些烦人的长长的日志,不如重新装系统,这个绝对是最省时间的) 1.安 ...

  3. Xamarin Android Webview中JS调用App中的C#方法

    参考链接:https://github.com/xamarin/recipes/tree/master/Recipes/android/controls/webview/call_csharp_fro ...

  4. 【后缀数组之height数组】

    模板奉上 int rank[maxn],height[maxn]; void calheight(int *r,int *sa,int n) { ; ;i<=n;i++) rank[sa[i]] ...

  5. P4365 [九省联考2018]秘密袭击coat

    $ \color{#0066ff}{ 题目描述 }$ Access Globe 最近正在玩一款战略游戏.在游戏中,他操控的角色是一名C 国士 兵.他的任务就是服从指挥官的指令参加战斗,并在战斗中取胜. ...

  6. flask内置函数 send_static_file(filename)

    内部使用的函数将静态文件从静态文件夹发送到浏览器. current_app.send_static_file(filename)

  7. 吴裕雄 python 机器学习——K均值聚类KMeans模型

    import numpy as np import matplotlib.pyplot as plt from sklearn import cluster from sklearn.metrics ...

  8. excel批量中英翻译单元格

    英 ==> 中 =FILTERXML(WEBSERVICE("http://fanyi.youdao.com/translate?&i="&H1&&q ...

  9. 动态树Link-cut tree(LCT)总结

    动态树是个好玩的东西 LCT题集 预备知识 Splay 树链剖分(好像关系并不大) 动态树(Link-cut tree) 先搬dalao博客 什么是LCT? 动态树是一类要求维护森林的连通性的题的总称 ...

  10. js高级程序设计 笔记 --- 引用类型

    一,变量和作用域 1, js变量可以保存两种类型,基本类型.引用类型和symbol类型,基本类型有5种:undefined.null.boolean.number.string,它们都有以下的特征 基 ...