zoukankan      html  css  js  c++  java
  • 关于ActionBar

    添加ActionBar

      Android 3.0(API 11)(不含API11)以下的版本中,如果需要活动有ActionBar,需要让活动继承ActionBarActivity类,并且在Manifest.xml文件中对应活动的注册信息中添加主题属性。比如要让MainActivity有ActionBar,需要:

      第一步,让MainActivity继承ActionBarActivity类

      public class MainActivity extends ActionBarActivity { ... }

      第二步,在MainActivity的注册信息中添加主题属性,像下面这样:

      <activity  android:name=".MainActivity"

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

      从 Android 3.0(API 11)开始,ActionBar被添加到Activity中,并且默认使用Theme.Holo主题,所以如果targetSdkVersion设置的不小于11,只需要继承Activity类,活动就会有ActionBar。

    隐藏ActionBar:

      如果需要隐藏ActionBar,可以在活动的注册信息中将主题设置为Theme.NoTitleBar,如下:

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

      如果要隐藏ActionBar和通知栏,相当于全屏,可以将主题设置成Theme.NoTitleBar.Fullscreen,如下:

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

      在Android3.0(API11)及以上的版本中,还可以这样,如果某个活动需要隐藏(或显示)ActionBar,可以:

    ActionBar actionBar = getActionBar(); 
    actionBar.hide();
    actionBar.show();

    ActionBar标题文本

      标题文本是靠活动的注册信息中android:label属性控制的,比如:

    <activity android:name=".DisplayMessageActivity"
                android:label="@string/title_activity_display_message" />

    标题栏返回按钮

      类似于下图这种效果。

     

      假设要给DisplayActivity增加这种返回按钮,点击后返回MainActivity。

      首先需要将DisplayActivity的ParentActivity设置为MainActivity,在活动注册信息中设置:

    <activity
            android:name=".DisplayActivity"
            android:label="@string/title_activity_display"
            android:parentActivityName=".MainActivity">
            <meta-data
                    android:name="android.support.PARENT_ACTIVITY"
                    android:value=".MainActivity" />
    </activity>

      android:parentActivityName=".MainActivity"适用于API16及以上的SDK,为兼容16以下的SDK,还需要添加下面的

    <meta-data
                android:name="android.support.PARENT_ACTIVITY"
                android:value=".MainActivity" />

      然后在DisplayActivity的onCreate()函数中添加getSupportActionBar().setDisplayHomeAsUpEnabled(true);语句启用返回按钮,如果minSdkVersion不小于11,则将上面那句替换为这句:

    getActionBar().setDisplayHomeAsUpEnabled(true);

      以前写关于返回按钮的笔记的时候,并没有成功做出返回按钮,因为当时实验时用的SDK版本比较低,所以直接只用了

    <meta-data
                android:name="android.support.PARENT_ACTIVITY"
                android:value=".MainActivity" />

      后来发现返回无效,单独只用android:parentActivityName=".MainActivity"也是无效的,今天两个放一起合用,返回按钮才起作用了。

  • 相关阅读:
    剑指Offer——矩形覆盖
    剑指Offer——变态跳台阶
    ASCII table and description .
    字符编解码的故事(ASCII,ANSI,Unicode,Utf-8区别) .
    tchar 输入输出类 和 string 类 函数简单说明 总结各种前缀后缀
    各种 C++编译器的性能对比
    怎样写参数个数可变的宏 Debug宏 Log宏等
    C语言中的可变参数函数 三个点“…”printf( const char* format, ...)
    常用C语言字符串操作函数
    Multi-Byte Character Set &amp; Use Unicode Character Set .
  • 原文地址:https://www.cnblogs.com/dige1993/p/4857870.html
Copyright © 2011-2022 走看看