Android开发:Eclipse与Android Studio去除标题栏title

       

        我们平常开发Android程序时,编辑器总会自动给我们创建一个标题栏,但有时候为了美观我们并不

想要界面上有个标题栏,所以我们需要隐藏默认的这个标题栏。

 

首先我们先要区分状态栏/标题栏/导航栏

  • 状态栏(Status Bar)
  • 标题栏(Title Bar)
  • 导航栏(Navigation Bar)

 

 

 

 

去除方法:

 

1.编辑器为Eclipse或AIDE

若使用的编辑器为Eclipse或AIDE,因为他们Activity类继承的是Activity属于v4包,所以隐藏标题栏有3种方法:

一、在代码里实现

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

    注:一定要记住这句代码要写在setContentView()前面。

 

二、在清单文件(AndroidManifest.xml)里面实现

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

这样可以将整个应用的所有Activity设置成无标题栏,如果只要在一个Activity设置成一个无标题栏的形式,只要把上面的第一种方法的代码写到对应的activity中即可。

<activity android:name=".MainActivity" android:theme="@android:style/Theme.Light.NoTitleBar"/>

 

 

 

三、在style.xml文件里定义

    <!-- 设置无标题的样式 -->  
        <style name="noTitle">  
            <item name="android:windowNoTitle">true</item>  
        </style>  

 

然后在AndroidManifest.xml中就可以引用了,这种方法稍麻烦了一点

 

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

其实可以看得出来,第二种方法和第三种方法实质是一样的,只不过第二种方法调用的是系统定义好的style.xml文件,而第三种方法则是在自己的应用里定义style.xml,然后再自己再调用,其实道理是一样的。
 

 

2.编辑器为Android Studio

若使用的编辑器为Android Studio,这里的Activity类继承的是AppCompatActivity,这个是属于support v7附加包的类。

两者之间的区别就不写了,具体可以去百度一下。接下来介绍其隐藏标题栏的方法。

 

方式一:在布局文件中进行设置

    整个应用都不显示标题栏:

        如果是想让标题栏在整个应用中都不显示,那么,则可在AndroidManifest.xml中的<application>节点

上设定其属性android:theme为带有NoActionBar的值,这样所创建的所有activity都不会带有标题栏了;如:

<application
    android:allowBackup="true"
    android:icon="@mipmap/ic_launcher"
    android:label="@string/app_name"
    android:supportsRtl="true"
    android:theme="@style/Theme.AppCompat.Light.NoActionBar">
    <activity android:name=".MainActivity">
        <intent-filter>
            <action android:name="android.intent.action.MAIN" />
            <category android:name="android.intent.category.LAUNCHER" />
        </intent-filter>
    </activity>
    <activity android:name=".SecondActivity"></activity>
</application>second

注:同上方Eclipse方法二一样由于<application>节点的android:theme指定为了@style/theme.AppCompat.Light.NoActionBar,与此同时,又由于其所有的子节点<activity>的属性android:theme都并未指定,这样所有的activity就都不会带有标题栏。

 

    某一个activity不显示标题栏:

        若是想让应用中的某一个activity不显示标题栏,则可设定对应的activity的属性android:theme为带有NoActionBar的值,如:        

<application
    android:allowBackup="true"
    android:icon="@mipmap/ic_launcher"
    android:label="@string/app_name"
    android:supportsRtl="true"
    android:theme="@style/Theme.AppCompat">
    <activity android:name=".MainActivity">
        <intent-filter>
            <action android:name="android.intent.action.MAIN" />
            <category android:name="android.intent.category.LAUNCHER" />
        </intent-filter>
    </activity>
    <activity 
        android:name=".SecondActivity"
        android:theme="@style/Theme.AppCompat.Light.NoActionBar">   这里activity设置为没有标题栏的主题   
    </activity>
</application>

 

方式二:在代码中进行设置

        因为Activity继承的是AppCompatActivity属于v7的包,上方Eclipse一句话代码并不适用,

这时候需要插入另外一条语句:getSupportActionBar().hide();   

示例:

public class MainActivity extends AppCompatActivity {

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        /**
         * 如果是Android Studio默认创建的AppCompatActivity,
         * 需用getSupportActionBar().hide();
         * 这句话同样需要放在setContentView()之前才有效;
        */
        getSupportActionBar().hide();
        setContentView(R.layout.MainActivity);
    }
}

 

        以上就是各种隐藏标题栏的方法,不只是标题栏,状态栏,导航栏也有方法可以根据自己的想法隐藏。

 

 

 

 

 

  • 0
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值