动作条中的Andr​​oid

在ActionBar的Andr​​oid应用程序的标题栏中的Andr​​oid可以让我们快速, 更方便. 这是动作条在Gmail的一个例子.

动作条在android系统

本文将指导您创建和动作条可能易行的工作.

1. 创建动作条
2. 添加按钮 (菜单) 在动作条
3. 得到的ActionBar菜单的事件
4. 重新创建按钮图标
5. 搜索查看动作条上
6. 分享到动作条

动作条由机器人介绍 3.0 以上, 但是用较小的机器人也可以使用由 “库支持”.

1. 创建动作条


创建动作条为Android 3.0 以上
这项工作很简单, 创建一个新项目,当你选择最小的版本可以运行的应用程序 3.0 (或更大) 为默认,然后我们调整动作条.

创建动作条

创建项目,你可以在文件中看到之后都会有这样的行AndroidMainfest.xml

android:minSdkVersion="11"

创建Android的动作条更小 3.0
通常使用较小的机器人,当你创建项目 3.0 它会自动创建 “图书馆” appcompat_v7 从ActionBarActivity MainActivity扩展将立即不需要添加任何东西. 在情况下,如果没有自身产生的,那么你必须执行以下步骤:
B1版的lib支持TU SDK经理 (如果没有).

他们周四维恩的android

B2图书馆加入工作区: 文件 -> 进口 -> 现有项目到工作区. 然后点击 下一个. 在下一屏幕上选择浏览并选择 “Android的SDK文件夹,还” \SDK 演员机器人 SUPPORT V7 appcompat VA单击OK.

添加支持库

B3库添加到项目: 右键单击并选择属性项目并移动到Android. 单击Add按钮,然后选择appcompat_v7.


B4: 返回MainActivity.java文件并执行遗留ActionBarActivity

import android.os.Bundle;
import android.support.v7.app.ActionBarActivity;
import android.view.Menu;
import android.view.MenuItem;

public class MainActivity extends ActionBarActivity {

	@Override
	protected void onCreate(Bundle savedInstanceState) {
		super.onCreate(savedInstanceState);
		setContentView(R.layout.activity_main);
	}
}

好了,所以再. 现在运行该项目将与这样的动作条简单的程序来实现. 当然,没有任何按键在所有, 我们现在就开始实施.
动作条

2. 创建菜单


在本质上,你看到的动作条按钮是菜单. 所以要补充一点,我刚刚完成添加菜单按钮. 例如,我们需要更多的 2 菜单 搜索分享
B1: 莫main.xml文件 (你应该改名,以帮助困惑action_main.xml) 在来电/ RES /菜单/项添加到以下:

<menu xmlns:android="http://schemas.android.com/apk/res/android" >

    <!--
    Trong mỗi item có 
    id: để truy xuất kết nối code java
    icon: icon của menu
    showAsAction: trạng thái cho phép hiển thị trên actionbar không
    title: tiêu để dạng text
    -->

    <item
        android:id="@+id/action_search"
        android:icon="@android:drawable/ic_menu_search"
        android:showAsAction="ifRoom"
        android:title="search"/>
    <item
        android:id="@+id/action_share"
        android:icon="@android:drawable/ic_menu_share"
        android:showAsAction="ifRoom"
        android:title="share"/>

</menu>

B2: 返回MainActivity.java文件,重写方法 onCreateOptionsMenu

@Override
public boolean onCreateOptionsMenu(Menu menu) {
	// Inflate the menu; this adds items to the action bar if it is present.
	getMenuInflater().inflate(R.menu.action_main, menu);
	return true;
}

因此,我们得到这样的菜单:

菜单动作条

对于较小的Andr​​oid 3.0 您需要更改对以下文件action_main.xml一点点:

<menu xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto" >

    <!--
    Trong mỗi item có 
    id: để truy xuất kết nối code java
    icon: icon của menu
    showAsAction: trạng thái cho phép hiển thị trên actionbar không
    title: tiêu để dạng text
    -->
    <item
        android:id="@+id/action_search"
        android:icon="@android:drawable/ic_menu_search"
        android:title="search"
        app:showAsAction="ifRoom"/>
    <item
        android:id="@+id/action_share"
        android:icon="@android:drawable/ic_menu_share"
        android:title="share"
        app:showAsAction="ifRoom"/>

</menu>

注意: 您可以设置的值 showAsAction 是 “总” 因此,它总是会出现或 “从来没有” 永远不要出现在动作条, 当你按下菜单按钮,它才会显示.

3. 获取事件菜单


为了使启动事件的菜单项, 我们的方法中制成 onOptionsItemSelected 在MainActivity.java, 假设相应的菜单上点击时,你会做你想做, 它也出现在吐司演示离线.

@Override
public boolean onOptionsItemSelected(MenuItem item) {
	// Handle presses on the action bar items
	switch (item.getItemId()) {
	case R.id.action_search:
		search();
		return true;
	case R.id.action_share:
		share();
		return true;
	default:
		return super.onOptionsItemSelected(item);
	}
}

private void search() {
	Toast.makeText(this, "You click search", Toast.LENGTH_SHORT).show();
}

private void share() {
	Toast.makeText(this, "You click share", Toast.LENGTH_SHORT).show();
}

4. 创建应用程序中的后退按钮图标


当某项活动适用不在家. 你会在应用程序图标看到一个箭头返回这样的:
向上按钮
该按钮可以返回到屏幕 (活动) 之前,或任何活动. 一般情况下,类似于按下手机上的后退按钮. 不过,也有很多不同之处,你可以 点击这里

在活性的研究,你要插入扣, 你只需要给它通过调用:

actionBar.setDisplayHomeAsUpEnabled(true);

我们创建示例应用程序 1 钮, 当点击该按钮将切换到其他活性的研究是Item1Acitivty, Item1Acitivty要出现在一个节点如下:

public class Item1Activity extends Activity {

	@Override
	protected void onCreate(Bundle savedInstanceState) {
		super.onCreate(savedInstanceState);
		setContentView(R.layout.activity_item1);

		// lấy ActionBar
		ActionBar actionBar = getActionBar();
		// hiển thị nút Up ở Home icon
		actionBar.setDisplayHomeAsUpEnabled(true);

		// Nếu bạn dùng thư viện hỗ trợ cho android nhỏ hơn 3.0
		/*
		 * ActionBar actionBar = getSupportActionBar();
		 * actionBar.setDisplayHomeAsUpEnabled(true);
		 */
	}
}

因此,展会结束, 然而,当我们按下它什么都没有的现象, 我们需要设置属性 parentActivityName 上,我们希望活动点, 这里是MainActivity, 您可以指向其他活动.

<activity
    android:name=".Item1Activity"
    android:label="@string/title_activity_item1"
    android:parentActivityName="cachhoc.net.tutactionbar.MainActivity" >
</activity>

然而,对于 安卓 4.0 向下 然后我们需要声明的元数据的一部分如下:

<activity
    android:name=".Item1Activity"
    android:label="@string/title_activity_item1"
    android:parentActivityName="cachhoc.net.tutactionbar.MainActivity" >
    <meta-data
        android:name="android.support.PARENT_ACTIVITY"
        android:value="cachhoc.net.tutactionbar.MainActivity" />
</activity>

现在,我们可以使用它,然后.

5. 搜索查看动作条上


Android提供了对ActonBar一些立即采取行动, 在搜索菜单上点击的时候,我会引导你创建一个搜索框. 搜索是便于取景, 你只需要重写在以下文件/res/menu/action_main.xml搜索项:

<!--
giá trị collapseActionView trong showAsAction 
cho biết nó có thể đóng khi ấn vào bất kỳ nút nào
-->
<item
    android:id="@+id/action_search"
    android:actionViewClass="android.widget.SearchView"
    android:icon="@android:drawable/ic_menu_search"
    android:showAsAction="ifRoom|collapseActionView"
    android:title="search"/>

为Android 3.0 以下请执行以下操作:

<item
    android:id="@+id/action_search"
    android:icon="@android:drawable/ic_menu_search"
    android:title="search"
    app:actionViewClass="android.support.v7.widget.SearchView"
    app:showAsAction="ifRoom|collapseActionView"/>

所以搜索菜单上,单击当我们搜索查看这样的. 然而搜索做了所有你阅读更多 使用搜索查看的ActioBar (更新)

搜索查看在动作条

6. 使用分享菜单上的动作条


机器人可以让我们分享通过社交网络或某种服务的一些信息. 这个例子将执行他的份额文本.

要做到共享一个菜单项进行更改在以下菜单:

<item
        android:id="@+id/action_share"
        android:actionProviderClass="android.widget.ShareActionProvider"
        android:showAsAction="ifRoom"
        android:title="Share"/>

旁边MainActivity和维修方法 onCreateOptionsMenu

为Android 3.0 利用库支持

<item
        android:id="@+id/action_share"
        android:icon="@android:drawable/ic_menu_share"
        android:title="share"
        app:actionProviderClass="android.support.v7.widget.ShareActionProvider"
        app:showAsAction="ifRoom"/>

在动作条共享菜单

阅读更多: 动作条在android系统