Android 用Toolbar制作搜索框
作者:互联网
1. 隐藏标题栏
在AndroidManifest.xml进行修改
<application
···
<activity
android:name=".MainActivity"
android:theme="@style/Theme.AppCompat.Light.NoActionBar">>
···
</activity>
</application>
2.在布局文件加入Toolbar
<androidx.appcompat.widget.Toolbar
android:id="@+id/toolbar"
android:layout_width="match_parent"
android:layout_height="?attr/actionBarSize"
android:elevation="4dp"
app:titleTextColor="#FFFFFF"
android:background="#00B2FF" />
3.在Activity中设置Toolbar
import androidx.appcompat.widget.Toolbar;
Toolbar toolbar = (Toolbar) findViewById(R.id.toolbar);
toolbar.setTitle("标题");//设置主标题名称
toolbar.setSubtitle("副标题");//设置副标题名称
setSupportActionBar(toolbar);
toolbar.setNavigationIcon(R.drawable.back);//是左边的图标样式
其中toolbar.setNavigatonIcon(R.drawable.back);加在setSupportActionBar();之后才会有效。
4.设置左边的图标样式的点击事件
public boolean onOptionsItemSelected(MenuItem item) {
if(item.getItemId()==android.R.id.home){
finish();
}
return super.onOptionsItemSelected(item);
}
5.设置右边的图标及点击事件
在menu目录下建立一个menu_main.xml文件
<?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"
xmlns:tools="http://schemas.android.com/tools"
tools:context=".activity.MainActivity">
<item
android:id="@+id/search"
android:orderInCategory="100"
app:showAsAction="ifRoom"
android:title="search"
android:icon="@drawable/ic_search_black_36dp"/>
</menu>
在activity类中设置
public boolean onCreateOptionsMenu(Menu menu) {
// Inflate the menu; this adds items to the action bar if it is present.
getMenuInflater().inflate(R.menu.menu_main, menu);
return true;
}
在onCreate(Bundle savedInstanceState)中设置监听事件
toolbar.setOnMenuItemClickListener(new Toolbar.OnMenuItemClickListener() {
@Override
public boolean onMenuItemClick(MenuItem item) {
switch (item.getItemId()) {
case R.id.search:
//显示搜索栏
searchFragment.showFragment(getSupportFragmentManager(),SearchFragment.TAG);
break;
}
//Toast.makeText(CommoditySearchActivity.this, msg, Toast.LENGTH_SHORT).show();
return true;
}
});
6.最终结果
7.参考帖子
android–添加toolbar.
在Android studio的一个新建的Activity中添加Toolbar以及相应的功能添加.
as中出现错误:android.widget.Toolbar cannot be cast to androidx.appcompat.widget.Toolbar.
标签:return,menu,item,搜索,Toolbar,设置,Android,toolbar 来源: https://blog.csdn.net/weixin_47545556/article/details/123165756