关于toolbar的一些问题

原创 2018年04月17日 16:31:28

表示之前都不想写博客了,但是今天突然遇到一个问题,就是关于toolbar的,然后就在这个问题上浪费了半天的时间。

所以决定还是写写博客记录一下,以防以后遇到相同的问题,在浪费时间,也给大家一些参考吧。

    首先,我当时需要解决的问题是,让Toolbar显现出自带的后退按钮。因为之前写的自定义的后退按钮,去掉了原有的标题栏,导致一个很简单的问题变的复杂了。

    说一下,现在我知道的实现(有部分不是太懂,所以只讲整体实现作用)

下面第一个部分,实现 将状态栏的背景设为当前页面的背景,需要最低api19

其中前两个设置颜色的,可以根据需求,设置该项目所需的主题颜色


<style name="AppTheme" parent="Theme.AppCompat.DayNight.NoActionBar">
    <!-- Customize your theme here. -->
    <item name="colorPrimary">@color/colorPrimary</item>
    <item name="colorPrimaryDark">@color/colorPrimaryDark</item>
    <item name="colorAccent">@color/colorAccent</item>

    <item name="actionMenuTextColor">#ffffff</item>

    <item name="android:windowIsTranslucent">true</item>
    <item name="android:windowTranslucentStatus">true</item>

    <item name="colorControlNormal">@android:color/white</item>
</style>

实现标题居中

1、创建一个Toolbar,之后将内容置为空,再在其中添加一个TextView,可以根据自己的需求进行设置。

我下面的实现 字体颜色白色 ,大小20sp ,居中;内容可以在后台根据页面的需求自定义设置。

其中想要使用自定义返回按钮可以通过添加ImageView,或者在Toolbar 中进行设置(这里没写)

在需要标题的页面,通过include引入

<android.support.v7.widget.Toolbar xmlns:android="http://schemas.android.com/apk/res/android"
    android:id="@+id/toolbar"
    android:layout_width="match_parent"
    android:layout_height="?attr/actionBarSize"
    android:background="@color/colorPrimaryDark"
    android:fitsSystemWindows="true"
    >
    <!--<ImageView-->
        <!--android:id="@+id/back_image"-->
        <!--android:layout_width="30dp"-->
        <!--android:layout_height="30dp"-->
        <!--android:src="@mipmap/back"-->
        <!--/>-->
    <TextView
        android:id="@+id/txt_title"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_centerInParent="true"
        android:layout_gravity="center"
        android:textColor="@android:color/white"
        android:textSize="20sp" />

</android.support.v7.widget.Toolbar>

引入

<include
    layout="@layout/common_tool_bar"
    />



下面讲的就是显示自带的后退按钮

getSupportActionBar().setDisplayHomeAsUpEnabled(true);

这句是显示按钮,点击事件需要自定义。

在写这个之前还需要写

toolbar.setTitle("");
setSupportActionBar(toolbar);

不过一般这样写都会报错。像我就是这样。

需要在主题中添加下面两句。

<item name="windowActionBar">false</item>
<item name="windowNoTitle">true</item>


现在讲一下整体的

styles中

<style name="AppTheme" parent="Theme.AppCompat.DayNight.NoActionBar">
    <!-- Customize your theme here. -->
    <item name="colorPrimary">@color/colorPrimary</item>
    <item name="colorPrimaryDark">@color/colorPrimaryDark</item>
    <item name="colorAccent">@color/colorAccent</item>

    <item name="actionMenuTextColor">#ffffff</item>

    <item name="android:windowIsTranslucent">true</item>
    <item name="android:windowTranslucentStatus">true</item>

    <item name="colorControlNormal">@android:color/white</item>

    <item name="windowActionBar">false</item>
    <item name="windowNoTitle">true</item>
</style>

布局

<android.support.v7.widget.Toolbar xmlns:android="http://schemas.android.com/apk/res/android"
    android:id="@+id/toolbar"
    android:layout_width="match_parent"
    android:layout_height="?attr/actionBarSize"
    android:background="@color/colorPrimaryDark"
    android:fitsSystemWindows="true"
    >
    <!--<ImageView-->
        <!--android:id="@+id/back_image"-->
        <!--android:layout_width="30dp"-->
        <!--android:layout_height="30dp"-->
        <!--android:src="@mipmap/back"-->
        <!--/>-->
    <TextView
        android:id="@+id/txt_title"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_centerInParent="true"
        android:layout_gravity="center"
        android:textColor="@android:color/white"
        android:textSize="20sp" />

</android.support.v7.widget.Toolbar>

Activity

Toolbar toolbar=findViewById(R.id.toolbar);
toolbar.setTitle("");
setSupportActionBar(toolbar);
getSupportActionBar().setDisplayHomeAsUpEnabled(true);

点击事件

toolbar.setNavigationOnClickListener(new View.OnClickListener() {
    @Override
    public void onClick(View view) {
        finish();
    }
});



    

小程序的一些问题

  • u012885438
  • u012885438
  • 2017-07-18 16:47:59
  • 76

操作系统的课件 关于操作系统的一些问题

  • 2010年06月18日 14:28
  • 2.38MB
  • 下载

关于数据库的一些问题(一)

1、查询性能优化 深入理解MySql如何执行查询点击打开链接2、mysql数据库中find_in_set()和in()用法区别点击打开链接3、配置phpmyadmin连接远程 MySQL数据库点击打开...
  • wc_jkyh
  • wc_jkyh
  • 2018-02-28 14:31:33
  • 37

关于Toolbar 的一点问题

1、继承AppcompatActivity,使用toolbar时,toolbar 的setTitle等操作都需要在setSupportActionBar 之前调用,否则结果跟没有 setSuppor...
  • Handsonn
  • Handsonn
  • 2016-04-20 18:00:57
  • 1066

[Java] Scanner(System.in) 从控制台输入

import java.util.*; public class ScannerTest{     public static void main(String[] args){ ...
  • shylx123
  • shylx123
  • 2011-04-16 14:51:00
  • 1089

guava的坑

Maps.uniqueIndex(values, keyFunction)
  • lynn349x
  • lynn349x
  • 2017-02-21 14:48:15
  • 344

关于设计成本核算的几个问题

目前以月平均价来核算来举例。一、在同一个会计期间里1、先销售后进仓,是负库存的,比如:日期      摘要       数量      单价          成本单价       结存数量09-01...
  • fstao
  • fstao
  • 2009-01-10 11:56:00
  • 2330

使用Toolbar遇到的问题

我们在开发中,对Toolbar已经非常熟悉了,这个东西已经取代了ActionBar了,我们在以往的开发中使用Toolbar的时候,否会遇到一个错误,本人老是犯这个错误,所以写个笔记,记录一下,下面是报...
  • liwei123liwei123
  • liwei123liwei123
  • 2016-08-31 14:58:32
  • 659

instanceof关键字(向下转型的验证)

一、instanceof关键字 1)可以使用instanceof关键字判断一个对象到底是哪一个类的实例 2)对象instanceof类  ---> 返回boolean类型     二、开...
  • u013779489
  • u013779489
  • 2014-03-12 19:14:54
  • 682

购物车问题的相关回答

原文网址:http://www.cnblogs.com/dingxue/archive/2008/11/16/1334367.html 问题: 1.购物车中的数据是否应该存储在数据库中?我特别想知道在...
  • xiaoyatou_00
  • xiaoyatou_00
  • 2010-12-27 14:20:00
  • 1044
收藏助手
不良信息举报
您举报文章:关于toolbar的一些问题
举报原因:
原因补充:

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