下滑隐藏,上滑出现 自定义标题栏

默认标题栏

1、隐藏标题栏
requestWindowFeature(Window.FEATURE_NO_TITLE);

似乎所有requestWindowFeature窗体显示状态操作(requestWindowFeature()的功能是启用窗体的扩展特性。参数是Window类中定义的常量)的操作都要放在setContentView的前面。但使用这种方法,用户体验不太好,在Activity将要显示时,仍然会出现title bar,然后再去掉的。
2、在标题栏显示进度条
requestWindowFeature(Window.FEATURE_PROGRESS);
setContentView(R.layout.progressbar_1);
setProgressBarVisibility(true);
final ProgressBar progressHorizontal = (ProgressBar) findViewById(R.id.progress_horizontal);
setProgress(progressHorizontal.getProgress() * 100);
setSecondaryProgress(progressHorizontal.getSecondaryProgress() * 100);
3、使用自定义标题栏
requestWindowFeature(Window.FEATURE_CUSTOM_TITLE);
setContentView(R.layout.xxx);
getWindow().setFeatureInt(Window.FEATURE_CUSTOM_TITLE,R.layout.my_title_bar);
4、清除标题栏内容,而区域保留
((ViewGroup) getWindow().findViewById(com.android.internal.R.id.title_container)).removeAllViews();
5、隐藏标题栏
((ViewGroup)getWindow(). findViewById(com.android.internal.R.id.title_container)).setVisibility(View.GONE);
6、显示标题栏
…setVisibility(View.VISIBLE);

其他注意事项
(1) requestWindowFeature()要在setContentView()之前调用;
(2) 设置各种Feature,是具有排它性的,一旦设置,后续不可更改为别的类型;
(3) 当使用TabHost(由ActivityGroup派生)时,各个Tab里的Activity,要么都是NO_TITLE,要么都是CUSTOM_TITLE,无法分别进行设置。

自定义custom title

自定义title.xml

  • getWindow().setFeatureInt(Window.FEATURE_CUSTOM_TITLE, R.layout.title); //所产生的并不是把以前的用现在的title.xml替换,只是用 R.layout.title放在了默认样式的上面
  • 可以用隐藏的方式:
findViewById(R.id.custom_title_1).setVisibility(View.GONE);
getWindow().setFeatureInt(Window.FEATURE_CUSTOM_TITLE, R.layout.custom_title_2);

关于动态修改的话,title使用的是或的方式,及效果叠加,显示第二个custom title的时候,第一个默认也会显示,如果不想显示需要手动coding隐藏 ,建议将custom title的layout文件根元素设置相应id,在java中获得该id在需要的时候setVisibility(View.VISIBLE),不需要的时候setVisibility(View.GONE)即可。有更好的方法欢迎留言,thx

ps:用户这样设置后发现自定义的layout并没有办法填充满这个标题栏,这个时候我们可以将标题栏的背景色与标题栏内容的layout背景色设置成一致,就可以认为充满整个标题栏了啊。

在res/value下增加style.xml用来保存标题栏的样式

android-menudrawer-master 上下左右都可以实现menu

滚动时菜单停留、隐藏和显现

手机屏幕小,在用户浏览主要内容时,可以自动隐藏不必要的元素,以最大化的把信息展示给用户。

向下滚动浏览信息流的时候,顶部、底部的菜单栏会自动隐藏。而要想显示菜单栏,只需向上滑一下即可。另外还有一种形式是:当一个用户发布的信息超过一屏时,向上滑动会把发布人信息自动停靠在顶部(Instagram即是如此)。在很多App使用这项设计时,有的上滑只隐藏顶部菜单栏,比如Vida;有的上下都隐藏,比如Fab、在路上等;但很少有只隐藏底部菜单栏的。

顶部快速返回

这个交互方式很简单,也主要是在信息流类的App中出现的比较多(但似乎很多人都不知道),就是点击手机顶部状态栏附近,信息流会自动返回最上面。

卡包式设计(或叫书签式设计)

这种可能大部分人第一次知道的时候是Evernote 5.0上线的时候,但之前苹果自家的Passbook发布时也是这种设计,现在这种设计方式经常被用在会员卡上面(比如大众点评的会员卡)。但基本上用的不多

Advertisements

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

生活在西班牙

自己动手丰衣足食

BlueAsteroid

Just another WordPress.com site

Jing's Blog

Just another WordPress.com site

Start from here......

我的心情魔方

天才遠私廚

希望能做一個分享各種資訊的好地方

语义噪声

西瓜大丸子汤的博客

笑对人生,傲立寰宇

Just another WordPress.com site

Where On Earth Is Waldo?

A Project By Melanie Coles

the Serious Computer Vision Blog

A blog about computer vision and serious stuff

Cauthy's Blog

paper review...

Cornell Computer Vision Seminar Blog

Blog for CS 7670 - Special Topics in Computer Vision

datarazzi

Life through nerd-colored glasses

Luciana Haill

Brainwaves Augmenting Consciousness

槑烎

1,2,∞

Dr Paul Tennent

and the university of nottingham

turn off the lights, please

A bunch of random, thinned and stateless thoughts around the Web

%d bloggers like this: