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>