Android之ActionBar(demo)

来源:互联网 发布:兰亭序真迹在哪里 知乎 编辑:程序博客网 时间:2024/06/05 16:58
Android之ActionBar(demo)
 Action bar是一个标识应用程序和用户位置的窗口功能,并且给用户提供操作和导航模式。在大多数的情况下,当你需要突出展现用户行为或全局导航的activity中使用action bar,因为action bar能够使应用程序给用户提供一致的界面,并且系统能够很好根据不同的屏幕配置来适应操作栏的外观。
下面通过一个demo来演示一下,后面会附上我的demo下载地址。









首先我们得关联一下android:-support-v7-appcompat的jar包,如果报错的话,就在libs删除你自己的v4包,我们还在在application中设置一下主题,我设置的是
<span style="font-size:18px;color:#333333;">  android:theme="@style/Theme.AppCompat.Light" ></span>
还可以设置成Notitle的主题。
布局就是一个按钮,通过点击show按钮,来观察actionbar的变化
<span style="font-size:18px;color:#333333;"><RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"    xmlns:tools="http://schemas.android.com/tools"    android:layout_width="match_parent"    android:layout_height="match_parent"    android:paddingBottom="@dimen/activity_vertical_margin"    android:paddingLeft="@dimen/activity_horizontal_margin"    android:paddingRight="@dimen/activity_horizontal_margin"    android:paddingTop="@dimen/activity_vertical_margin"    tools:context=".MainActivity" >    <Button        android:layout_width="wrap_content"        android:layout_height="wrap_content"        android:onClick="click"        android:text="show" />    <Button        android:layout_width="wrap_content"        android:layout_height="wrap_content"        android:layout_alignParentBottom="true"        android:onClick="tiao"        android:text="跳转" /></RelativeLayout></span>

MainActivity的逻辑如下:
<span style="font-size:18px;color:#333333;">package com.example.actionbarexample;import android.content.Intent;import android.os.Bundle;import android.support.v7.app.ActionBar;import android.support.v7.app.ActionBarActivity;import android.support.v7.view.ActionMode;import android.support.v7.view.ActionMode.Callback;import android.view.Menu;import android.view.MenuItem;import android.view.View;import android.widget.Toast;public class MainActivity extends ActionBarActivity implements Callback {private ActionBar mActionBar;@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);// 获取actionBar这个对象mActionBar = getSupportActionBar();mActionBar.setTitle("主页");mActionBar.setSubtitle("附页");mActionBar.setIcon(R.drawable.ic_action_star);mActionBar.setLogo(R.drawable.ic_launcher);mActionBar.setDisplayUseLogoEnabled(false);// 设置是否显示Logo优先mActionBar.setDisplayShowTitleEnabled(true);// 设置菜单 标题是否可见mActionBar.setDisplayShowHomeEnabled(true);// 设置应用图标是否mActionBar.setDisplayHomeAsUpEnabled(true);// 设置back按钮是否可见}public void click(View v) {startSupportActionMode(this);}public void tiao(View v) {startActivity(new Intent(this, TwoMenu.class));}// 创建的时候会调用这个方法@Overridepublic boolean onCreateActionMode(ActionMode mode, Menu menu) {getMenuInflater().inflate(R.menu.action_mode, menu);return true;}// 还没创建之前执行的方法@Overridepublic boolean onPrepareActionMode(ActionMode mode, Menu menu) {return false;}// item点击的时候做的处理@Overridepublic boolean onActionItemClicked(ActionMode mode, MenuItem item) {int itemId = item.getItemId();Toast.makeText(getApplicationContext(), item.getTitle(),Toast.LENGTH_SHORT).show();// 消失让子菜单mode.finish();return false;}// 销毁的时候做的处理@Overridepublic void onDestroyActionMode(ActionMode mode) {}}</span>

这里面写的很清楚,注意我这是演示的只是一种形式,我的demo上有三种actionbar的形式。
actionbardemo下载地址

0 0
原创粉丝点击