Android ActionBar详解(3)->ActionBar的Home导航功能

Android ActionBar详解(三)---ActionBar的Home导航功能FirstActivity如下:package cc.testsimpleactionba

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;@Overrideprotected 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() {@Overridepublic 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;@Overrideprotected 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() {@Overridepublic 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;@Overrideprotected 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);}@Overridepublic boolean onCreateOptionsMenu(Menu menu) {getMenuInflater().inflate(R.menu.action_menu, menu);return true;}// 菜单项被选中时执行该方法@Overridepublic 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>