Android Title标题栏的修改(隐藏,菜单)

安卓的标题栏经常可以给我们提供不少便利,安置菜单可以节约不少的位置,自定义title则可以让程序更好的和用户互动。而在一些情况下,我们并不需要标题栏,此时为了空间就应该把标题栏删除掉。

修改标题:

1.我们可以选择在AndroidManifest.xml中修改标题名。

如果从头至尾我们都只使用一个标题名,我们可以直接在application中添加:

android:label="@string/app_name"
或者直接定义名称(不推荐)

android:label="title"
如果标题需要随Activity变化,我们可以将label属性添加到对应的Activity中。

举个栗子:



 
  2.在对应的Activity中修改标题名: 
  

在onCreate中添加setTitle("name");

super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
setTitle("title");

隐藏标题栏:

修改AndroidManifest.xml中的theme,一般可以这样修改

 android:theme="@style/Theme.AppCompat.Light.NoActionBar"

和修改标题名一样,theme可以放在一个activity中去掉某一个页面的标题栏,也可以放在application中取消所有Activity的标题栏

也可以把theme修改如下

android:theme="@android:style/Theme.NoTitleBar" 

可能会报错:

You need to use a Theme.AppCompat theme (or descendant) with this activity.

此时需要修改你的继承:把AppCompatActivity修改为Activity

我在这里顺便列下android:theme的主题

系统自带主题:
API 1:
android:Theme 根主题
android:Theme.Black 背景黑色
android:Theme.Light 背景白色
android:Theme.Wallpaper 以桌面墙纸为背景
android:Theme.Translucent 透明背景
android:Theme.Panel 平板风格
android:Theme.Dialog 对话框风格

API 11:
android:Theme.Holo Holo根主题
android:Theme.Holo.Black Holo黑主题
android:Theme.Holo.Light Holo白主题

API 14:
Theme.DeviceDefault 设备默认根主题
Theme.DeviceDefault.Black 设备默认黑主题
Theme.DeviceDefault.Light 设备默认白主题

API 21: (网上常说的 Android Material Design 就是要用这种主题)
Theme.Material Material根主题
Theme.Material.Light Material白主题


兼容包v7中带的主题:
Theme.AppCompat 兼容主题的根主题
Theme.AppCompat.Black 兼容主题的黑色主题
Theme.AppCompat.Light 兼容主题的白色主题


使用的时候很多会报错,原因很多,比如要继承AppCompactActivity,或者要继承ActionBarActiivty,还有的要提升API版本。因为我也不会这里就不一一讲解了。


最后说一下如何在Title中添加菜单

这里我直接粘贴我的笔记了

在res文件夹中中添加menu文件夹,其下可以添加各种需要的menu菜单在相应的Activity中

我们在menu下添加main.xml,在其中编写如下代码:

    
    
这样就添加了两个菜单中的选项 ADD REMOVE

下面在Activity代码中添加:

   @Override
    public boolean onCreateOptionsMenu(Menu menu) {
        getMenuInflater().inflate(R.menu.main,menu);
        return true;//true显示菜单
    }


    @Override
    public boolean onOptionsItemSelected(MenuItem item) {//菜单响应
        int Action = item.getItemId();
        switch (Action){
            case R.id.add_item:
                System.out.println("123457");
                break;
            case R.id.remove_item:
                System.out.println("76532");
                break;
        }
        return true;
    }


重写onCreateOptionMenu,显示菜单

这里的getMenuInflater().inflate()要注意一下,传入的两个参数。第一个是传入我们的xml文件,第二个是传给哪个Menu对象,这里我们直接填入menu

重写onOptionsItemSelected,监听菜单


这样,运行程序,菜单就显示出来了,由于我不会往博客中传图片,效果图就不贴了。

如果对您有帮助,看在我写了这么久的份上,点个赞吧( ̄▽ ̄)~* 

如果有错误,欢迎指正~

你可能感兴趣的:(Android)