001android初级篇之ToolBar

官方的最新support library v7中提供了新的组件ToolBar,用来替代之前的ActionBar,实现更为弹性的设计在 material design 也对之做了名称的定义:App bar。下面描述下它的基本用法,权作抛砖引玉。

基本用法

如下代码,实现了主副标题及Logo和标题颜色的设置

Toolbar toolbar = (Toolbar) findViewById(R.id.toolbar);
toolbar.setTitle("交易清单");
toolbar.setSubtitle("--2015年度明细");
toolbar.setLogo(R.drawable.icon);
toolbar.setTitleTextColor(Color.parseColor("#FFFFFF"));
setSupportActionBar(toolbar);

设置菜单按钮额操作

需要首先编辑xml布局文件menu_main.xml

<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=".MainActivity">
    <item android:id="@+id/action_settings" android:title="@string/action_settings"
        android:orderInCategory="100" app:showAsAction="never" />
    <item android:id="@+id/action_share" android:title="share"
        android:orderInCategory="100" app:showAsAction="ifRoom" />
</menu>

其中 app:showAsAction有三个可选的值

always:总是显示在界面上
never:不显示在界面上,只让出现在右边的三个点中
ifRoom:如果有位置才显示,不然就出现在右边的三个点中

android:orderInCategory

表明摆放的顺序,不一定从0还是计算,但必须大于等于0,数值小的位于前,如果数值一样,在我们这个例子中3又两个值,则安顺序摆放;

代码处理

设置布局文件
@Override
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;
}
设置键值处理

@Override
public boolean onOptionsItemSelected(MenuItem item) {
    // Handle action bar item clicks here. The action bar will
    // automatically handle clicks on the Home/Up button, so long
    // as you specify a parent activity in AndroidManifest.xml.
    int id = item.getItemId();

    //noinspection SimplifiableIfStatement
    if (id == R.id.action_settings) {
        mTextView.setText("Your Press Setting!\n");
        return true;
    }
    else if(id == R.id.action_share){
        mTextView.setText("share!");
        return true;
    }

    return super.onOptionsItemSelected(item);
}

去除ActionBar

去除Actionbar最简单的方法就是直接继承NoActionBar的主题了

参考链接

  1. android:ToolBar详解
  2. Android Material Design之Toolbar与Palette实践
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Android 自定义View的各种姿势1 Activity的显示之ViewRootImpl详解 Activity...
    passiontim阅读 173,333评论 25 708
  • afinalAfinal是一个android的ioc,orm框架 https://github.com/yangf...
    passiontim阅读 15,556评论 2 45
  • ¥开启¥ 【iAPP实现进入界面执行逐一显】 〖2017-08-25 15:22:14〗 《//首先开一个线程,因...
    小菜c阅读 6,523评论 0 17
  • 我小时候的农村,烧火是一件大事。 一日三餐,要想做熟,就得烧火。一年四季里,冬天是烧火的好季节,外...
    马瘦毛长阅读 1,124评论 6 3
  • 不知道从何时开始,迷茫像一股热风,刮进了我们的世界,也留在了很多人的嘴边。在迷茫的路上,我们似乎走的都是那么的相似...
    MCMarty阅读 1,420评论 0 5