• Android开发-取消程序标题栏或自定义标题栏


    注:本文由Colin撰写,版权所有!转载请注明原文地址,谢谢合作!

    在Android开发中,跟据需要我们有时候需要自定义应用程序的标题栏或者取消程序的标题栏,下面本菜鸟在此记录与分享一下自己使用的方法。

    一、取消标题栏的方法:

    第一种:(推荐)

    在AndroidManifest.xml文件中定义为不带标题栏的主题:

    < application android:icon="@drawable/icon"
    android:label="@string/app_name"
    android:theme="@android:style/Theme.NoTitleBar">

    可以看出,这样写的话,整个应用都会去掉标题栏,如果只想去掉某一个Activity的标题栏的话,可以把这个属性加到activity标签里面

    第二种:这种在一般的应用中不常用,就是在res/values目录下面新建一个style.xml的文件。

    < ?xml version="1.0" encoding="UTF-8" ?>
    < resources>
    < style name="notitle">
    < item name="android:windowNoTitle">true< /item>
    < /style>
    < /resources>
    

    这样,我们就自定义了一个style,就相当于一个主题,然后在AndroidManifest.xml文件中定义,定义方法同第一种。

    < application android:icon="@drawable/icon"
    android:label="@string/app_name"
    android:theme="@style/notitle">
    

      

    —————————————————————–

    二、自定义Title_Bar

    添加Title_Bar的 Style样式表。

    <style name="CustomizedWindowTitleBackground">
    <item name="android:background">#505050</item>
    </style>
     
    
    <style name="title_bar" parent="android:Theme">
    <item name="android:windowTitleSize">48dp</item>
    <item name="android:windowTitleBackgroundStyle">@style/CustomizedWindowTitleBackground</item>
    </style>
    

      

    AndroidManifest.xml文件中将主题定义刚刚创建的Style样式表。

    <android:theme="@style/title_bar" >
    <activity android:name="com.itcolin"
    android:label="@string/app_name">
    </activity>

    将MainActivity.java设定为指定的Title_Bar配置文件,方法如下:

    publicvoid onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState); 
    requestWindowFeature(Window.FEATURE_CUSTOM_TITLE);
    setContentView(R.layout.activity_main);
    //加载Title_Bar的配置文件
    getWindow().setFeatureInt(Window.FEATURE_CUSTOM_TITLE, R.layout.title_bar);

    在Layout中定义好title_bar的配置文件,例如:

    <?xml version="1.0" encoding="utf-8"?>
    <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="48dp"
    android:orientation="horizontal" >
    
    <TextView
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:text="@string/app_title"
    android:textColor="#ffffff"
    android:textSize="20sp"
    android:layout_centerVertical="true"
    android:layout_centerHorizontal="true" />
    
    <Button
    android:id="@+id/settings"
    android:layout_width="30dp"
    android:layout_height="30dp"
    android:background="@drawable/settings"
    android:layout_marginRight="5dp"
    android:layout_centerVertical="true"
    android:layout_alignParentRight="true"/>
    </RelativeLayout>
    

     

    运行演式如下图:

    下载自定义标题栏Demo:自定义标题栏Demo

     -全文完-

    博客地址:http://www.cnblogs.com/colinliu/
    博客版权:本文以学习、记录、分享为目的。欢迎大家转载,但务必注明原文地址,谢谢合作!
  • 相关阅读:
    Qt编写控件属性设计器12-用户属性
    C#中通过三边长判断三角形类型(三角形测试用例)
    C#中通过Selenium定位<a>标签的问题
    SharePoint自动化系列——Manage "Site Subscriptions" using PowerShell
    SharePoint API测试系列——Records.BypassLocks测试
    SharePoint API测试系列——对Recorded Item做OM操作(委托的妙用)
    放松时刻——C#分割字符串
    链表——PowerShell版
    栈——PowerShell版
    队列——PowerShell版
  • 原文地址:https://www.cnblogs.com/colinliu/p/android-title.html
Copyright © 2020-2023  润新知