Toolbar标题栏
2016-04-26 09:53
369 查看
<android.support.v7.widget.Toolbar android:id="@+id/tool_bar" android:layout_width="match_parent" android:layout_height="?attr/actionBarSize" android:background="@color/colorPrimary"></android.support.v7.widget.Toolbar>
第一种:将actionbar替换为toolbar
/** * 1.在布局文件中添加ToolBar控件 * 2.在styles.xml文件中隐藏ActionBar * 3.在Activity中查找ToolBar,并给Toolbar设置属性,最后,用ToolBar代替ActionBar */ public class MainActivity extends AppCompatActivity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); Toolbar toolbar = (Toolbar) findViewById(R.id.tool_bar); //设置标题 toolbar.setTitle("Title"); //设置二级标题 toolbar.setSubtitle("二级标题"); //设置导航图标 // toolbar.setNavigationIcon(R.drawable.abg); // toolbar.setLogo(R.drawable.abg); //将ToolBar当作ActionBar来使用 setSupportActionBar(toolbar); //显示导航按钮,这行代码一定要放在setSupportActionBar(toolbar);之后执行 getSupportActionBar().setDisplayHomeAsUpEnabled(true); } @Override public boolean onOptionsItemSelected(MenuItem item) { switch (item.getItemId()) { case android.R.id.home: Toast.makeText(MainActivity.this, "home", Toast.LENGTH_SHORT).show(); break; } return super.onOptionsItemSelected(item); } }
2.将toolbar当作普通控件使用
public class MainActivity extends AppCompatActivity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); Toolbar toolbar = (Toolbar) findViewById(R.id.tool_bar); toolbar.setTitle("Title"); toolbar.setSubtitle("SubTitle"); //加载菜单文件到ToolBar上 toolbar.inflateMenu(R.menu.main); //设置菜单项的点击事件 toolbar.setOnMenuItemClickListener(new Toolbar.OnMenuItemClickListener() { @Override public boolean onMenuItemClick(MenuItem item) { switch (item.getItemId()) { case R.id.menu1: Toast.makeText(MainActivity.this, "menu1", Toast.LENGTH_SHORT).show(); break; } return true; } }); } }
三.分享和搜索
<menu xmlns:android="http://schemas.android.com/apk/res/android" xmlns:app="http://schemas.android.com/apk/res-auto"> <item android:id="@+id/share" android:title="share" app:actionProviderClass="android.support.v7.widget.ShareActionProvider" app:showAsAction="always"/> <item android:id="@+id/search" android:title="search" app:showAsAction="always" app:actionViewClass="android.support.v7.widget.SearchView"/> </menu>
public class MainActivity extends AppCompatActivity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); Toolbar toolbar = (Toolbar) findViewById(R.id.tool_bar); setSupportActionBar(toolbar); } @Override public boolean onCreateOptionsMenu(Menu menu) { getMenuInflater().inflate(R.menu.menu, menu); /**************************处理分享控件**************************/ //获得分享item MenuItem shareItem = menu.findItem(R.id.share); //获得ShareActionProvider ShareActionProvider shareActionProvider = (ShareActionProvider) MenuItemCompat.getActionProvider(shareItem); //设置要分享的数据 shareActionProvider.setShareIntent(getShareIntent()); /*******************************处理搜索控件*************************************/ SearchView searchView = (SearchView) menu.findItem(R.id.search).getActionView(); searchView.setOnQueryTextListener(new SearchView.OnQueryTextListener() { //提交搜索 文本时触发 @Override public boolean onQueryTextSubmit(String query) { Log.d("lenve", "onQueryTextSubmit: " + query); return true; } //搜索文本改变时触发 @Override public boolean onQueryTextChange(String newText) { Log.d("lenve", "onQueryTextChange: " + newText); return true; } }); return super.onCreateOptionsMenu(menu); } private Intent getShareIntent() { Intent intent = new Intent(); //设置要分享的数据 intent.putExtra(Intent.EXTRA_STREAM, Uri.parse(Environment .getExternalStoragePublicDirectory(Environment.DIRECTORY_DOWNLOADS) .getAbsolutePath() + File.separator + "p2.png")); //设置数据类型 intent.setType("image/*"); return intent; } }
相关文章推荐
- 用IEDA开发WEB项目发生的java.lang.NoClassDefFoundError解决方法
- 隐藏UITableView多余的分割线
- Coursera机器学习第8周作业
- HDU 1520 Anniversary party 树形dp
- top.location != self.location
- Photoshop打造喷溅水墨效果
- Python多线程学习
- 北京联通DNS
- Delphi COM编程技术三类型库
- iOS 相机调用相册打开及图片头像的上传到服务器详解
- 不改变默认布局样式让Android系统默认的标题栏消失
- H5知识点大总结勾起你的欲望
- 亿级Web系统搭建——单机到分布式集群
- 推荐关注模块的实现2
- PHP-Phalcon框架中的数据库操作
- SDL 截图、录像、录像播放
- ubuntu之设置时区和在线同步时间
- 关于c++常量定义
- 反射初步
- ASP.NET 中的Application详解