加载中…
个人资料
  • 博客等级:
  • 博客积分:
  • 博客访问:
  • 关注人气:
  • 获赠金笔:0支
  • 赠出金笔:0支
  • 荣誉徽章:
正文 字体大小:

为Android窗口标题栏加入按钮或图片

(2011-06-20 10:40:59)

在一般开发中,应用的Title都是建立应用时在AndroidManifest.xml中配置的,或是用setTitle设置的简单字符串,要是想加入按钮,图片等多个复杂的布局,请使用以下的方法

 

  1. 功能:把title设置成为一个字串和一个按钮的组合
  2. 修改xxActivity.Java代码
    public void onCreate(Bundle savedInstanceState) {   
              super.onCreate(savedInstanceState);   
              requestWindowFeature(Window.FEATURE_CUSTOM_TITLE); // 注意顺序   
              setContentView(R.layout.main); // 注意顺序   
              getWindow().setFeatureInt(Window.FEATURE_CUSTOM_TITLE,      // 注意顺序   
              R.layout.title);   
      
  3. 填加title.xml代码
    <?xml version="1.0" encoding="utf-8"?>   
    <LinearLayout   
    xmlns:android=http://schemas.android.com/apk/res/android   
    android:layout_width="wrap_content"   
    android:layout_height="wrap_content">   
          <TextView android:id="@+id/text"   
            android:layout_width="wrap_content"   
            android:layout_height="wrap_content"   
            android:layout_alignParentLeft="true"   
            android:text="text" />   
          <Button android:id="@+id/button"   
            android:layout_width="wrap_content"   
            android:layout_height="30px"   
            android:text="button" />   
    </LinearLayout>

需要注意以下几点:

注意设置顺序
requestWindowFeature要在setContentView之前
getWindow().setFeatureInit最好在setContentView之后

注意requestWindowFeature(Window.FEATURE_CUSTOM_TITLE)不要和其它对TITLE的设置requestWindowFeature(xxxx)一起使用

4.requestWindowFeature详解

requestWindowFeature(featrueId),它的功能是启用窗体的扩展特性。

参数是Window类中定义的常量。

一、枚举常量

 1.DEFAULT_FEATURES:系统默认状态,一般不需要指定

2.FEATURE_CONTEXT_MENU:启用ContextMenu,默认该项已启用,一般无需指定

3.FEATURE_CUSTOM_TITLE:自定义标题。当需要自定义标题时必须指定。如:标题是一个按钮时 4.FEATURE_INDETERMINATE_PROGRESS:不确定的进度

5.FEATURE_LEFT_ICON:标题栏左侧的图标

6.FEATURE_NO_TITLE:吴标题

7.FEATURE_OPTIONS_PANEL:启用“选项面板”功能,默认已启用。

8.FEATURE_PROGRESS:进度指示器功能

 9.FEATURE_RIGHT_ICON:标题栏右侧的图标

二、详解默认显示状态

 图1默认 1.FEATURE_CUSTOM_TITLE详解 this.requestWindowFeature(Window.FEATURE_CUSTOM_TITLE); setContentView(R.layout.main);

图2 无标题这是因为没设置Featrue 在上面代码后加:getWindow().setFeatureInt(Window.FEATURE_CUSTOM_TITLE, R.layout.title); 

 图3自定义标题自定义标题完成,它是一个xml文件布局 title.xml 3.FEATURE_INDETERMINATE_PROGRESS详解表示一个进程正在运行

图4标题进度条显示实现代码 1.progress.xml 2.Java代码 this.requestWindowFeature(Window.FEATURE_INDETERMINATE_PROGRESS); setContentView(R.layout.main); getWindow().setFeatureInt(Window.FEATURE_INDETERMINATE_PROGRESS, R.layout.progress); setProgressBarIndeterminateVisibility(true); 3.FEATURE_LEFT_ICON详解左侧显示图标

图5 实现代码 this.requestWindowFeature(Window.FEATURE_LEFT_ICON); setContentView(R.layout.main); getWindow().setFeatureDrawableResource(Window.FEATURE_LEFT_ICON, R.drawable.icon); 4.FEATURE_NO_TITLE详解 可用于全屏显示实现代码 this.requestWindowFeature(Window.FEATURE_NO_TITLE); setContentView(R.layout.main); getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN, WindowManager.LayoutParams.FLAG_FULLSCREEN);

本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/xiaodongvtion/archive/2010/12/20/6086913.aspx

0

阅读 收藏 喜欢 打印举报/Report
  

新浪BLOG意见反馈留言板 欢迎批评指正

新浪简介 | About Sina | 广告服务 | 联系我们 | 招聘信息 | 网站律师 | SINA English | 产品答疑

新浪公司 版权所有