Toolbar的使用

如果只是简单的显示标题两个按钮图标,用自定义布局方便些,但Toolbar的功能更强,且也可以定制。Android支持库Toolbar类实现Activity的应用栏(能够在运行API级别7和以上的设备提供Material Design体验)---参考官方技术文https://developer.android.com/training/appbar/index.html

  • 1. 让相应Activity继承AppcompatActivity,并设置一下
<application android:theme="@style/Theme.AppCompat.Light.NoActioBar"/>

  • 2.在布局中添加Toolbar
	<android.support.v7.widget.Toolbar
		android:id="+id/my_toolbar"
		android:layout_width="match_parent"
		android:layout_height="?attr/actionBarSize"
		android:backgroud="?attr/colorPrimary"
		android:elevation="4dp"
		android:theme="@style/ThemeOverlay.AppCompat.ActionBar"
		app:popupTheme="@style/ThemeOverlay.AppCompat.Light"/>

  • 3. 在onCreate函数添加以下
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
  	  setContentView(R.layout.activity_main);
 	  Toolbar myToolbar = (Toolbar) findViewById(R.id.my_toolbar);
   	  toolbar.setTitle("我的日记");
       	  setSupportActionBar(myToolbar);
    }

  • 4.在res/menu文件夹下创建菜单文件

<?xml version="1.0" encoding="utf-8"?>
<menu xmlns:android="http://schemas.android.com/apk/res/android"
	xmlns:app="http://schemas.android.com/apk/res-auto">
		<item
			android:id="@+id/action_search"
			android:icon="@mipmap/ic_launcher"
			android:title="搜索"
			app:showAsAction="ifRoom"/>
		<item
			android:id="@+id/action_submit"
			android:icon="@mipmap/ic_launcher"
			android:title="提交"
			app:showAsAction="ifRoom"/>
		<item
			android:id="@+id/action_delete"
			android:icon="@mipmap/ic_launcher"
			android:title="删除"
			app:showAsAction="never"/>
</menu>

· 5. 菜单点击事件

@Override
public booleanonCreateOptionsMenu(Menu menu) {
	MenuInflatermenuInflater=getMenuInflater();
	menuInflater.inflate(R.menu.toolbar,menu);
	return true;
}
@Override
public booleanonOptionsItemSelected(MenuItem item) {
	switch (item.getItemId()){
		case R.id.action_delete:
			Toast.makeText(this,"删除",Toast.LENGTH_SHORT).show();
			return true;
		case R.id.action_search:
			Toast.makeText(this,"搜索",Toast.LENGTH_SHORT).show();
			return true;
		case R.id.action_submit:
			Toast.makeText(this,"提交",Toast.LENGTH_SHORT).show();
			return true;
			default:
			returnsuper.onOptionsItemSelected(item);
	}
}

  • 效果图

  • Toolbar定制

直接在标签里添加布局(图标点击水印和沉浸状态栏另外实现)

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayoutxmlns:android="http://schemas.android.com/apk/res/android"
	xmlns:app="http://schemas.android.com/apk/res-auto"
	xmlns:tools="http://schemas.android.com/tools"
		android:layout_width="match_parent"
		android:layout_height="match_parent"
		android:background="@color/white"
		android:clipToPadding="false"
		android:fitsSystemWindows="true"
		tools:context="com.example.thinkpad.inspection.MainActivity">
	<android.support.v7.widget.Toolbar
		android:id="@+id/tb_title"
		android:layout_width="match_parent"
		android:layout_height="56dp"
		android:background="@color/colorPrimary"
		android:elevation="4dp" android:theme="@style/ThemeOverlay.AppCompat.ActionBar"
		app:contentInsetLeft="0dp"
		app:contentInsetStart="0dp"
		app:popupTheme="@style/ThemeOverlay.AppCompat.Light">
	<RelativeLayout
		android:layout_width="match_parent"
		android:layout_height="match_parent"
		android:paddingLeft="25dp"
		android:paddingRight="25dp">
			<ImageView
				android:id="@+id/iv_back"
				android:layout_width="wrap_content"
				android:layout_height="wrap_content"
				android:layout_alignParentLeft="true"
				android:layout_centerVertical="true"
				android:src="@mipmap/ic_arrow_back_black_24dp" />
			<TextView
				android:id="@+id/tv_title"
				android:layout_width="wrap_content"
				android:layout_height="wrap_content"
				android:layout_centerInParent="true"
				android:text="我的日记"
				android:textSize="18sp"
				android:textColor="@color/black"/>
			<ImageView
				android:id="@+id/iv_next"
				android:layout_width="wrap_content"
				android:layout_height="wrap_content"
				android:layout_alignParentRight="true"
				android:layout_centerVertical="true"
				android:src="@mipmap/ic_done_black_24dp"/>
		</RelativeLayout>
	</android.support.v7.widget.Toolbar>
</RelativeLayout>

· 效果图














  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值