android Toolbar的使用结合状态栏与返回键

原创 2015年07月08日 15:45:56

android Toolbar的使用结合状态栏与返回键

Toolbar的使用结合状态栏与返回键

toolbar_default.xml

<?xml version="1.0" encoding="utf-8"?>
<android.support.v7.widget.Toolbar
    style="@style/ToolBarStyle"
    xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:background="@color/apptheme_actionbar"
    android:theme="@style/ThemeOverlay.AppCompat.ActionBar"
    android:minHeight="@dimen/abc_action_bar_default_height_material"
    />

activity_view_pager.xml

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:background="@color/apptheme_actionbar"
    android:fitsSystemWindows="true"
    android:orientation="vertical" >
    <include
        android:id="@+id/toolbar_actionbar"
        layout="@layout/toolbar_default"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"/>
    <android.support.v4.view.ViewPager
        android:id="@+id/view_pager"
        android:background="@color/white"
        android:layout_width="match_parent"
        android:layout_height="match_parent" />

</LinearLayout>

z注意上面的最外层linearlayout属性:android:fitsSystemWindows=”true”
把它设置为true即可保证toolbar在状态栏的下方,而不与状态栏重叠

BeautyPhotoDetailsActivity.class

protected void onCreate(Bundle savedInstanceState) {
        // TODO Auto-generated method stub
        super.onCreate(savedInstanceState);
        Window window = getWindow();
        window.setFlags(WindowManager.LayoutParams.FLAG_TRANSLUCENT_STATUS, WindowManager.LayoutParams.FLAG_TRANSLUCENT_STATUS);
        setContentView(R.layout.activity_view_pager);
        mToolbar = (Toolbar) findViewById(R.id.toolbar_actionbar);
        mToolbar.setNavigationIcon(getResources().getDrawable(R.drawable.abc_ic_ab_back_mtrl_am_alpha));
        if (getIntent() != null) {
            imgs = (ArrayList<BeautyMainVo.Imgs>) getIntent().getSerializableExtra("imgs");
            position = getIntent().getIntExtra("position", 0);
        }
        mToolbar.showOverflowMenu();

        mToolbar.setTitle(imgs.get(position).getDesc());//使用此方法一定要在 setSupportActionBar(mToolbar);方法之前
//        mToolbar.setSubtitle("1副标题");
        setSupportActionBar(mToolbar);
        getSupportActionBar().setDisplayShowHomeEnabled(false);
        mToolbar.setNavigationOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                finish();;
            }
        });
    }

注意上面的代码:
Window window = getWindow();
window.setFlags(WindowManager.LayoutParams.FLAG_TRANSLUCENT_STATUS, WindowManager.LayoutParams.FLAG_TRANSLUCENT_STATUS);
这个就是用来设置是否悬浮在状态栏的,注意需要版本判断,这里我只是简单的设置了下
加上上面的android:fitsSystemWindows=”true”即可设置好toobal

接下来就是显示返回键了很简单:
设置返回图标: mToolbar.setNavigationIcon(getResources().getDrawable(R.drawable.abc_ic_ab_back_mtrl_am_alpha));
设置是否显示返回键: getSupportActionBar().setDisplayShowHomeEnabled(false);
设置返回键的点击事件:
mToolbar.setNavigationOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
finish();;
}
});

版权声明:本文为博主原创文章,未经博主允许不得转载。

android6.0在状态栏添加一键截屏

在配置文件frameworks/base/packages/SystemUI/res/values/config.xml下添加screenshot [html] view plain co...

向android 的状态栏中加入快捷按钮(home,back,menu等等)的方法(续)

上一篇文章中谈到的加入快捷按钮的方法,实际上还是太过麻烦。那篇博客是在我刚接触android源代码没几天时,参考网上的介绍自己写着玩呢。实际方法很简单,在statusbar中,添加三个ImageBut...
  • freshui
  • freshui
  • 2010年11月24日 22:13
  • 7425

Android4.0 状态栏添加截屏功能按钮

1>frameworks\base\packages\SystemUI\res\layout-sw600dp\status_bar.xml:添加             android:...

Android Toolbar,你想知道的都在这里了

Android 3.0之后,Google引入了ActionBar,想统一安卓应用的导航栏样式。但由于ActionBar难以定制,很大程度上限制了开发人员,比如标题文字大小、间距等不易实现个性化,很多开...

Android Toolbar使用系统原生返回键,并改变其颜色,自定义图片替换系统原生返回键

设置Toolbar中和自己app风格一致的系统返回键。

ToolBar修改返回按钮图标

使用Toolbar时,有时因为不同的手机设备,不能使用系统默认的主题样式或者图标,必须指定特定的资源,防止APP在不同设备上的效果不一样! 我在使用Toolbar时,把这个布局作为一个公共的了,所以...

Android官方说明--返回键和toolbar向上按钮的区别

使用返回和向上导航 实现有效导航 一致的导航操作是整体用户体验的重要组成部分。如果基本的导航方法都不能保持一致,甚至让用户意想不到的话,恐怕没有比这更让人沮丧的事情了。 Andro...

android toolbar navigationicon 改变返回按钮颜色

原地址:http://stackoverflow.com/questions/26788464/how-to-change-color-of-the-back-arrow-in-the-new-mat...

Android ToolBar 基本使用

一.概述Google在Android5.0以后推出了一个Toolbar来完全代替之前的Actionbar,Toolbar的出现解决了Actionbar的各种限制,Toolbar可以完全自定义和配置。先...

Android-自定义Toolbar的方法

因为实际开发一个App需要用自定义的Toolbar/Actionbar ,网上查了很多资料发现写的并不全,今天通过实际编写代码总结出一个比较简单方便的自定义toolbar的方法,仅供参考 1,...
  • githan
  • githan
  • 2016年08月13日 19:02
  • 2271
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:android Toolbar的使用结合状态栏与返回键
举报原因:
原因补充:

(最多只允许输入30个字)