Android如何自定义title

在编写android的应用程序的时候 经常会遇到优化title的问题 但是如何自定义title 

方法1、隐藏掉andorid的title 然后再此activity的布局文件中 布局类似的title 这样就可以做出title

     这样做的缺点 是 当更改title的样式的时候 有时需要更改整个布局文件 而且代码的复用性不高

     隐藏掉title的代码 : 1、在manifest配置(我经常这用) android:theme="@android:style/Theme.NoTitleBar.Fullscreen"

2、在代码中配置 必须放在 setcontentView()的前面 

this.requestWindowFeature(Window.FEATURE_NO_TITLE);//去掉标题栏

this.getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN, WindowManager.LayoutParams.FLAG_FULLSCREEN);//去掉信息栏

方法2、请求系统的服务 让系统的title使用我们自己定义的title (推荐使用这个)

代码 boolean flag = requestWindowFeature(Window.FEATURE_CUSTOM_TITLE);
        //请求系统使用自定义的title, 这一句代码一定要写到setcontentView之前
        setContentView(R.layout.main);
        
        if(flag){
        getWindow().setFeatureInt(Window.FEATURE_CUSTOM_TITLE, R.layout.title);//后者是在layout中设置的布局文件
        }
        TextView tv = (TextView) this.findViewById(R.id.tv);
        tv.setText("haha");

这样设置 activity的title的大小是不会变化的 因为在android中默认的titlesize是 25dip 如果要改变 大小 则需要重新写一个style文件 在manifest文件中让activity使用这个style-------android:theme="@style/titlestyle"

在/res/values目录下新建titlestyle.xml文件,在里面定义两个style,一个用来修改标题栏的大小,一个用来修改标题栏的背景颜色,如下:

  代码如下  

  
 
      
     
    
     
    
     
    


你可能感兴趣的:(android)