Android ActionBar详解(三)--->ActionBar的Home导航功能
FirstActivity如下:
package cc.testsimpleactionbar2; import android.os.Bundle;
import android.app.Activity;
import android.content.Intent;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
/**
* Demo描述:
* ActionBar的Home导航功能.
* 即点击ActionBar的一个按钮,回到App的首页.
*
* 具体实现:
* 在ActionBar上设置一个"Home",点击"Home"
* 时回到指定位置即可
*
* 备注说明:
* 该示例是在testsimpleactionbar1的基础上进行的
* 增加的代码很少.
*
* 参考资料:
* 1 Android疯狂讲义(第二版)
* Thank you very much
*
*/
public class FirstActivity extends Activity {
private Button mFirstButton;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.first);
init();
} private void init(){
mFirstButton=(Button) findViewById(R.id.firstButton);
mFirstButton.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
Intent intent=new Intent(FirstActivity.this, SecondActivity.class);
startActivity(intent);
}
});
} }
SecondActivity如下:
package cc.testsimpleactionbar2; import android.os.Bundle;
import android.app.Activity;
import android.content.Intent;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button; public class SecondActivity extends Activity {
private Button mSecondButton;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.second);
init();
} private void init(){
mSecondButton=(Button) findViewById(R.id.secondButton);
mSecondButton.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
Intent intent=new Intent(SecondActivity.this, ThirdActivity.class);
startActivity(intent); }
});
} }
ThirdActivity如下:
package cc.testsimpleactionbar2; import android.os.Bundle;
import android.app.ActionBar;
import android.app.Activity;
import android.content.Intent;
import android.graphics.Color;
import android.view.Menu;
import android.view.MenuItem;
import android.widget.TextView;
import android.widget.Toast;
/**
* 核心代码:
* mActionBar.setDisplayHomeAsUpEnabled(true);
*
*/
public class ThirdActivity extends Activity {
private ActionBar mActionBar;
private TextView mTipTextView;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.third);
init();
} private void init(){
mActionBar=getActionBar();
//设置是否显示应用程序的图标
mActionBar.setDisplayShowHomeEnabled(true);
//将应用程序图标设置为可点击的按钮
mActionBar.setHomeButtonEnabled(true);
//将应用程序图标设置为可点击的按钮,并且在图标上添加向左的箭头
//该句代码起到了决定性作用
mActionBar.setDisplayHomeAsUpEnabled(true);
mTipTextView=(TextView) findViewById(R.id.tipTextView);
} @Override
public boolean onCreateOptionsMenu(Menu menu) {
getMenuInflater().inflate(R.menu.action_menu, menu);
return true;
} // 菜单项被选中时执行该方法
@Override
public boolean onOptionsItemSelected(MenuItem menuItem) {
if (menuItem.isCheckable()) {
menuItem.setChecked(true);
}
switch (menuItem.getItemId()) {
case android.R.id.home:
//点击到我们ActionBar中设置的Home按钮
Intent intent = new Intent(this, FirstActivity.class);
intent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
startActivity(intent);
break;
case R.id.font10:
mTipTextView.setTextSize(10 * 2);
break;
case R.id.font12:
mTipTextView.setTextSize(12 * 2);
break;
case R.id.font14:
mTipTextView.setTextSize(14 * 2);
break;
case R.id.font16:
mTipTextView.setTextSize(16 * 2);
break;
case R.id.font18:
mTipTextView.setTextSize(18 * 2);
break;
case R.id.redFont:
mTipTextView.setTextColor(Color.RED);
break;
case R.id.greenFont:
mTipTextView.setTextColor(Color.GREEN);
break;
case R.id.blueFont:
mTipTextView.setTextColor(Color.BLUE);
break;
case R.id.plain_item:
Toast toast = Toast.makeText(ThirdActivity.this, "单击了普通菜单项",Toast.LENGTH_SHORT);
toast.show();
break; default:
break;
}
return true;
} }
first.xml如下:
<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" > <TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_centerHorizontal="true"
android:layout_marginTop="30dip"
android:text="这是第一个Activity"
android:textSize="20sp"
android:textStyle="bold" /> <Button
android:id="@+id/firstButton"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_centerInParent="true"
android:gravity="center"
android:text="跳到第二个Activity"
android:textSize="16sp" /> </RelativeLayout>
second.xml如下:
<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" > <TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_centerHorizontal="true"
android:layout_marginTop="30dip"
android:text="这是第二个Activity"
android:textSize="20sp"
android:textStyle="bold" /> <Button
android:id="@+id/secondButton"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_centerInParent="true"
android:text="跳到第三个Activity"
android:textSize="16sp"
android:gravity="center"
/> </RelativeLayout>
third.xml如下:
<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" > <TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_centerHorizontal="true"
android:layout_marginTop="30dip"
android:text="这是第三个Activity"
android:textSize="20sp"
android:textStyle="bold" /> <TextView
android:id="@+id/tipTextView"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_centerInParent="true"
android:text="修改文字大小和颜色"
android:textSize="16sp"
android:gravity="center"
/> </RelativeLayout>
action_menu.xml如下:
<menu xmlns:android="http://schemas.android.com/apk/res/android" >
<item
android:title="文字大小"
android:icon="@drawable/font"
android:showAsAction="always|withText">
<menu>
<group android:checkableBehavior="single">
<item
android:id="@+id/font10"
android:title="10"
/>
<item
android:id="@+id/font12"
android:title="12"
/>
<item
android:id="@+id/font14"
android:title="14"
/>
<item
android:id="@+id/font16"
android:title="16"
/>
<item
android:id="@+id/font18"
android:title="18"
/>
</group>
</menu>
</item> <item
android:id="@+id/plain_item"
android:icon="@drawable/ic_launcher"
android:title="普通菜单项"
android:showAsAction="always|withText"
/> <item
android:title="设置颜色"
android:icon="@drawable/color"
android:showAsAction="always|withText">
<menu>
<group>
<item
android:id="@+id/redFont"
android:title="红色"
/>
<item
android:id="@+id/greenFont"
android:title="绿色"
/>
<item
android:id="@+id/blueFont"
android:title="蓝色"
/>
</group>
</menu>
</item> </menu>
Android ActionBar详解(三)--->ActionBar的Home导航功能的更多相关文章
- Android ActionBar详解(三):ActionBar实现切换Tabs标签
实现切换Tabs标签; Activity代码: public class ActionBarTabs extends Activity { @Override protected void onCre ...
- (转)android Fragments详解三:实现Fragment的界面
为fragment添加用户界面 fragment一般作为activity的用户界面的一部分,把它自己的layout嵌入到activity的layout中. 一个 要为fragment提供layo ...
- 【转】Android编译系统详解(三)——编译流程详解
原文网址:http://www.cloudchou.com/android/post-276.html 本文原创作者:Cloud Chou. 欢迎转载,请注明出处和本文链接 1.概述 编译Androi ...
- Android Fragment详解(三): 实现Fragment的界面
为fragment添加用户界面: Fragment一般作为activity的用户界面的一部分,把它自己的layout嵌入到activity的layout中. 一个 要为fragment提供layout ...
- Android 布局详解 -三表格布局(TableLayout)以及重要属性
TableLayout跟TableRow 是一组搭配应用的布局,TableLayout置底,TableRow在TableLayout的上方,而Button.TextView等控件就 ...
- Android Loader详解三:重启与回调
重启装载器 当你使用initLoader()时,如果指定ID的装载器已经存在,则它使用这个装载器.如果不存在呢,它将创建一个新的.但是有时你却是想丢弃旧的然后开始新的数据. 要想丢弃旧数据,你应使用r ...
- Android ActionBar详解
Android ActionBar详解 分类: Android2014-04-30 15:23 1094人阅读 评论(0) 收藏 举报 androidActionBar 目录(?)[+] 第4 ...
- Android 之窗口小部件详解(三) 部分转载
原文地址:http://blog.csdn.net/iefreer/article/details/4626274. (一) 应用程序窗口小部件App Widgets 应用程序窗口小部件(Widget ...
- Android Notification 详解(一)——基本操作
Android Notification 详解(一)--基本操作 版权声明:本文为博主原创文章,未经博主允许不得转载. 微博:厉圣杰 源码:AndroidDemo/Notification 文中如有纰 ...
随机推荐
- 如何生成log新信息背景图片和在图片上添加水印
在图片上添加文字水印,其实就是要用到两个类, using System.Drawing; using System.Drawing.Drawing2D; 废话不多说了,直接上代 ...
- 自定义ASP.NET WebApplication中调用SharePoint2010的对象
如果你是做SharePoint开发的话,一定不会对如下这段代码陌生: using(SPSite oSiteCollection = new SPSite("http://Server_Nam ...
- html系列教程--center dl dt dd div
<center> 标签:对其所包括的文本进行水平居中. <datalist> 标签:定义列表,与 input 元素配合使用该元素,来定义 input 可能的值 demo: &l ...
- Mac浏览器全屏设置
在 mac 升级之后,以往点击放大的按钮,现在显示的效果是全屏:
- VMWARE使用问题
因为一些原因创建的两个虚拟机出问题了,然而里面还放了好多东西呢不想就这样删掉,就抱着试一试的心态看能不能恢复(结果真能恢复). 这里使用的方法是VMware虚拟机配置文件(.vmx)损坏修复 在这过程 ...
- leetcode Minimum Depth of Binary Tree python
# Definition for a binary tree node. # class TreeNode(object): # def __init__(self, x): # self.val = ...
- Tomcat 设置为服务使用脚本 service
进入到Tomcat的bin目录下,如果使用的是Windows系统则使用service.bat进行操作;Linux系统则使用service.sh进行. service.bat install/remov ...
- Linux网络管理——IP地址
1. 网络基础 .note-content {font-family: "Helvetica Neue",Arial,"Hiragino Sans GB",&q ...
- [原创]浅谈NT下Ring3无驱进入Ring0的方法
原文链接:浅谈NT下Ring3无驱进入Ring0的方法 (测试环境:Windows 2000 SP4,Windows XP SP2.Windows 2003 未测试) 在NT下无驱进入Ring0是一个 ...
- Ant Table组件
http://www.cnblogs.com/hujunzheng/p/5689650.html React中使用Ant Table组件 v一.Ant Design of React http:/ ...