[android] 标题部分管理
- 标题分类
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);
}
}
- 使用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] 标题部分管理的更多相关文章
- Android TelephonyManager电话管理器
今天介绍一下Android的电话管理器--TelephonyManager,TelephonyManager管理手机通话状态.电话网络信息的服务类,获取TelephonyManager: Teleph ...
- android 进程/线程管理(一)----消息机制的框架
一:android 进程和线程 进程是程序运行的一个实例.android通过4大主件,弱化了进程的概念,尤其是在app层面,基本不需要关系进程间的通信等问题. 但是程序的本质没有变,尤其是多任务系统, ...
- android 进程/线程管理(二)----关于线程的迷思
一:进程和线程的由来 进程是计算机科技发展的过程的产物. 最早计算机发明出来,是为了解决数学计算而发明的.每解决一个问题,就要打纸带,也就是打点. 后来人们发现可以批量的设置命令,由计算机读取这些命令 ...
- android 进程/线程管理(三)----Thread,Looper / HandlerThread / IntentService
Thread,Looper的组合是非常常见的组合方式. Looper可以是和线程绑定的,或者是main looper的一个引用. 下面看看具体app层的使用. 首先定义thread: package ...
- android 进程/线程管理(四)续----消息机制的思考(自定义消息机制)
继续分析handler 和looper 先看看handler的 public void dispatchMessage(Message msg) { if (msg.callback != null) ...
- android 进程/线程管理(四)----消息机制的思考(自定义消息机制)
关于android消息机制 已经写了3篇文章了,想要结束这个系列,总觉得少了点什么? 于是我就在想,android为什么要这个设计消息机制,使用消息机制是现在操作系统基本都会有的特点. 可是andro ...
- android的布局管理器
理论上通过setContentView(view)能够把一个view设置到activity中,但当你有很多个view控件的时候,就需要用android的布局管理器来管理view控件了. android ...
- Android 核心分析之十二Android GEWS窗口管理之基本架构原理
Android GWES之窗口管理之基本构架原理 Android的窗口管理是C/S模式的.Android中的Window是表示Top Level等顶级窗口的概念.DecorView是Window的To ...
- Android 之 内存管理-查看内存泄露(三)
概述 在android的开发中,要时刻主要内存的分配和垃圾回收,因为系统为每一个dalvik虚拟机分配的内存是有限的,在google的G1中,分配的最大堆大小只有16M,后来的机器一般都为24M,实在 ...
随机推荐
- css3 hover效果
html代码: <!DOCTYPE html> <html lang="en"> <head> <meta charset="U ...
- [agc004f]Namori 贪心
Description 现在给你一张NN个点MM条边的连通图,我们保证N−1≤M≤NN−1≤M≤N,且无重边和自环. 每一个点都有一种颜色,非黑即白.初始时,所有点都是白色的. 想通过执行 ...
- iOS核心动画之蒙版
应用场景 想让一些古卷文字慢慢渐变成背景色,而不是一个突兀的边界 layer的边框不是圆角,而是有星形框架的图片 方法 设置mask属性.这个属性也是一个layer属性,但只有alpha属性有效果.即 ...
- svn命令行的使用
只是说一下,svn平时工作时常用的命令 1.svn delete 目录 删除svn版本里的相关目录 2.svn add 目录 将本地的目录添加到svn版本信息里 3.svn commit 目录 提交s ...
- ubuntu16.04 能启动mysql服务
ubuntu16.04 后, 貌似mysqld在/etc/init.d下,直接执行会报mysqld不在服务中,因此开启mysql服务失败. 所以执行以下命令不能启动mysql服务: /etc/init ...
- HTML-文本域属性设置
1.设置文本域的字体 <TEXTAREA STYLE="font-size:9pt;font-family:verdana;color:#333333">输入内容< ...
- 显示point data的时均值注意事项
正确的导入顺序应该是: 先导入cell data,再做时均处理,最后再转换成point data.如果先转换成point data再做时均处理,速度会非常慢.
- python进程进阶
本节目录: 1.进程的其他方法 2.验证进程之间是空间隔离的 3.守护进程 4.互斥锁 5.编写一个伪抢票程序 6.数据共享 7.for循环,join 8.队列 9.用队列完成一个生产者消费者模型 1 ...
- $bzoj1025-SCOI2009$游戏 群论 $dp$
题面描述 \(windy\)学会了一种游戏.对于\(1\)到\(N\)这\(N\)个数字,都有唯一且不同的1到N的数字与之对应.最开始\(windy\)把数字按顺序\(1,2,3,\cdot ...
- JavaMail 实现发送验证码,带验证码模板的
package util; import java.io.File; import java.io.FileOutputStream; import java.util.Properties; imp ...