ActionBar详解(三)--->ActionBar的Home导航功能
发布日期:2021-06-30 11:13:52 浏览次数:2 分类:技术文章

本文共 4000 字,大约阅读时间需要 13 分钟。

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如下:

second.xml如下:

third.xml如下:

action_menu.xml如下:

 

转载地址:https://it9527.blog.csdn.net/article/details/12527051 如侵犯您的版权,请留言回复原文章的地址,我们会给您删除此文章,给您带来不便请您谅解!

上一篇:ActionBar详解(二)--->使用ActionBar显示选项菜单
下一篇:ActionBar详解(四)--->在ActionBar上添加UI组件

发表评论

最新留言

关注你微信了!
[***.104.42.241]2024年04月25日 16时21分08秒