zoukankan      html  css  js  c++  java
  • Android官方教程翻译(5)——设置ActionBar

    Setting Up the Action Bar

    设置Action Bar

    PREVIOUSNEXT

    THIS LESSONTEACHES YOU TO

    这节课教你

    1.    Support Android 3.0 and Above Only仅仅支持3.0以上

    2.    Support Android 2.1 and Above     支持2.1以上

    YOU SHOULD ALSOREAD

    ·       Setting Up the Support Library

    In its most basic form, the action bardisplays the title for the activity and the app icon on the left. Even in thissimple form, the action bar is useful for all activities to inform users aboutwhere they are and to maintain a consistent identity for your app.

    Action Bar最常见的形式是在左边显示标题和应用的图标。尽管很简单,但是很常见很有用,用他去显示用户登陆信息和身份。

    Figure 1. An action bar with the app icon andactivity title.

    Setting up a basic action bar requiresthat your app use an activity theme that enables the action bar. How to requestsuch a theme depends on which version of Android is the lowest supported byyour app. So this lesson is divided into two sections depending on whichAndroid version is your lowest supported.

    建立一个最基本的action bar需要一个可用主题的activity。怎样去获得这个主题依赖于Android程序的版本。所以这节课根据最低版本分为两个部分。

    Support Android3.0 and Above Only


    Beginning with Android 3.0 (API level11), the action bar is included in all activities that use the Theme.Holotheme (or one of its descendants), whichis the default theme when either the targetSdkVersion orminSdkVersion attribute is set to "11" or greater.

    So to add the action bar to youractivities, simply set either attribute to 11 or higher. For example:

    Android3.0版本已经默认启用了Action Bar,因此只要版本高于“11”那么默认就会启动Action Bar

    例如下面配置。

    <manifest ... >
        <uses-sdk android:minSdkVersion="11" ... />
        ...
    </manifest>

    Note: If you've created a custom theme, besure it uses one of the Theme.Holo themes as its parent. For details, see Styling theAction Bar.

    Now the Theme.Holo theme is applied to your app and allactivities show the action bar. That's it.

    Support Android2.1 and Above


    Adding the action bar when running on versionsolder than Android 3.0 (down to Android 2.1) requires that you include theAndroid Support Library in your application.

    如果你是2.1以上3.0以下则需要下载支持的jar包。

    To get started, read the Support LibrarySetup document and set up the v7appcompat library (once you've downloaded the library package, follow theinstructions for Adding librarieswith resources).

    Once you have the Support Libraryintegrated with your app project:

    如果你的工程支持该库:

    1.     Update your activity so that it extends ActionBarActivity. For example:

    activity继承ActionBarActivity

    public class MainActivity extends ActionBarActivity { ... }

    2.     In your manifest file, update either the <application> element or individual <activity> elements to use one of the Theme.AppCompat themes. For example:

    manifest文件中更改<application>元素或有一个<activity>元素使用Theme.AppCompat主题。例如:

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

    Note: If you've created a custom theme, besure it uses one of the Theme.AppCompat themes as its parent. For details, see Styling theAction Bar.

    Now your activity includes the actionbar when running on Android 2.1 (API level 7) or higher

    现在你的activity包含action barAndroid版本高于2.1

    Remember to properly set your app's APIlevel support in the manifest:

    记得去设置API级别支持action bar

    <manifest ... >
        <uses-sdk android:minSdkVersion="7"  android:targetSdkVersion="18" />
        ...
    </manifest>

    如果希望关闭ActionBar可以设置该应用的主题为,Xxx.NoActionBar

    <application
            android:allowBackup="true"
            android:icon="@drawable/ic_launcher"
            android:label="@string/app_name"
            android:theme="@style/Theme.holo.NoAction" >
            <activity
                android:name="com.example.test.MainActivity"
                android:label="@string/app_name" >
                <intent-filter>
                    <action android:name="android.intent.action.MAIN" />
    
                    <category android:name="android.intent.category.LAUNCHER" />
                </intent-filter>
            </activity>
        </application>
    一旦关闭ActionBar该不能使用

    实际的项目中,通常推荐使用代码来控制ActionBar的显示和影藏,ActionBar提供了如下方法:

    show():显示

    hide()影藏

    package com.example.test;
    
    import android.app.ActionBar;
    import android.app.Activity;
    import android.os.Bundle;
    import android.view.View;
    
    
    public class MainActivity extends Activity {
    	ActionBar actionBar;
    	@Override
    	protected void onCreate(Bundle savedInstanceState) {
    		super.onCreate(savedInstanceState);
    		setContentView(R.layout.activity_main);
    		//获取该Activity的ActionBar
    		//只有当应用主题没有关闭ActionBar时,该代码才能返回ActionBar
    		actionBar = getActionBar();
    	}
    	
    	//为“显示ActionBar”按钮定义事件处理方法
    	public void showActionBar(View source){		
    		//显示
    		actionBar.show();
    	}
    	
    	//为“隐藏ActionBar"按钮定义事件处理方法
    	public void hideActionBar(View source){
    		//隐藏
    		actionBar.hide();
    	}
    }



  • 相关阅读:
    深度学习遥感影像(哨兵2A/B)超分辨率
    基于Google Earth Engine的全国地表温度反演
    蚂蚁森林的树木长得如何了?遥感云计算告诉你!!
    基于单分类器的高分辨率遥感影像道路提取
    基于google earth engine 云计算平台的全国水体变化研究
    超大影像栅格转矢量快速实现
    大规模深度学习多通道遥感图像样本增强
    大规模遥感影像匀光匀色的一些思考
    基于深度学习的珠海一号高光谱影像云检测
    全自动多源遥感影像大气校正方法
  • 原文地址:https://www.cnblogs.com/lanzhi/p/6469868.html
Copyright © 2011-2022 走看看