精华内容
下载资源
问答
  • Toolbar自定义布局

    2018-01-16 19:01:00
    Toolbar如何使用想必大家清楚地很,实际开发中标题栏的样式各色各样,因此其基本样式便不能满足我们的需求,这就需要我们自定义布局。打开ToolBar源码我们发现它继承ViewGroup,这就表示我们可以把它当做一个存放控件...

    Toolbar如何使用想必大家清楚地很,实际开发中标题栏的样式各色各样,因此其基本样式便不能满足我们的需求,这就需要我们自定义布局。打开ToolBar源码我们发现它继承ViewGroup,这就表示我们可以把它当做一个存放控件的容器。

     <android.support.v7.widget.Toolbar
            android:layout_width="match_parent"
            android:layout_height="?attr/actionBarSize">
            <LinearLayout
                android:layout_width="match_parent"
                android:layout_height="?attr/actionBarSize"
                android:background="@color/colorPrimary"
                android:gravity="center">
                <TextView
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content"
                    android:gravity="center"
                    android:text="标题"
                    android:textSize="16sp"
                    android:textColor="@color/white"
                />
            </LinearLayout>
        </android.support.v7.widget.Toolbar>

    结果:左边出现一片空白 
    这里写图片描述 
    查找源码发现:

       final int contentInsetStart =
                    a.getDimensionPixelOffset(R.styleable.Toolbar_contentInsetStart,
                            RtlSpacingHelper.UNDEFINED);
            final int contentInsetEnd =
                    a.getDimensionPixelOffset(R.styleable.Toolbar_contentInsetEnd,
                            RtlSpacingHelper.UNDEFINED);
            final int contentInsetLeft =
                    a.getDimensionPixelSize(R.styleable.Toolbar_contentInsetLeft, 0);
            final int contentInsetRight =
                    a.getDimensionPixelSize(R.styleable.Toolbar_contentInsetRight, 0);
    
            mContentInsets.setAbsolute(contentInsetLeft, contentInsetRight);
    
            if (contentInsetStart != RtlSpacingHelper.UNDEFINED ||
                    contentInsetEnd != RtlSpacingHelper.UNDEFINED) {
                mContentInsets.setRelative(contentInsetStart, contentInsetEnd);
            }

    是这个contentInsetStart导致了左边的留白,我们只要将左边距置为0即可。

       <android.support.v7.widget.Toolbar
            xmlns:app="http://schemas.android.com/apk/res-auto"
            android:layout_width="match_parent"
            android:layout_height="?attr/actionBarSize"
            app:contentInsetLeft="0dp"
            app:contentInsetStart="0dp">
            <LinearLayout
                android:layout_width="match_parent"
                android:layout_height="?attr/actionBarSize"
                android:background="@color/colorPrimary"
                android:gravity="center">
                <TextView
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content"
                    android:gravity="center"
                    android:text="标题"
                    android:textSize="16sp"
                    android:textColor="@color/white"
                />
            </LinearLayout>
        </android.support.v7.widget.Toolbar>

    这里写图片描述 
    这样Toobar的样式就可以任意由我们修改了

    转载于:https://www.cnblogs.com/zhujiabin/p/8298276.html

    展开全文
  • Toolbar 自定义布局去除左右两边间距 在工作中遇到了toolbar 嵌套布局发现左右边距不一样大 ,所以发现了并加以修改 <android.support.v7.widget.Toolbar android:id="@+id/toolbar" android:layout_width=...

    Toolbar 自定义布局去除左右两边间距

    在工作中遇到了toolbar 嵌套布局发现左右边距不一样大 ,所以发现了并加以修改

    <android.support.v7.widget.Toolbar
            android:id="@+id/toolbar"
            android:layout_width="match_parent"
            android:layout_height="?attr/actionBarSize"
            android:background="@android:color/holo_blue_bright">
    
            <View
                android:layout_width="match_parent"
                android:layout_height="match_parent"
                android:background="@android:color/holo_red_dark" />
    
        </android.support.v7.widget.Toolbar>
    

    经过查阅

    app:contentInsetStart=”0dp”
    
    

    只不过是间距变窄了一些。经过测试,发现还要设置 toolbar 的 paddingLeft 和 paddingRight 值为 0,当然,直接设置 padding 为 0 也是可以的。加上之后终于没有间距了:

    如果在代码里设置了显示返回箭头,即

    getSupportActionBar().setDisplayHomeAsUpEnabled(true);
    

    则需要给布局添加属性设置:

    app:contentInsetStartWithNavigation=”0dp”
    

    可以看到,返回箭头占的位置变窄了。
    最后,完整布局是这样的:

    <android.support.v7.widget.Toolbar
            android:id="@+id/toolbar"
            android:layout_width="match_parent"
            android:layout_height="?attr/actionBarSize"
            android:background="@android:color/holo_blue_bright"
            android:padding="0dp"
            app:contentInsetStart="0dp"
            app:contentInsetStartWithNavigation="0dp">
    
            <View
                android:layout_width="match_parent"
                android:layout_height="match_parent"
                android:background="@android:color/holo_red_dark" />
    
        </android.support.v7.widget.Toolbar>
    

    clone:https://blog.csdn.net/musiclife123/article/details/80417825?utm_source=blogxgwz1

    展开全文
  • Toolbar 自定义布局去除左右两边间距

    千次阅读 2018-05-23 11:42:15
    v7 支持包中的 Toolbar,既可以直接代替 actionBar 使用,也可以嵌套布局自定义actionBar 样式,但是在嵌套布局自定义样式的时候,左右两边总会有一定的间距。直接在 toolbar 中添加布局: &amp;lt;android....

    v7 支持包中的 Toolbar,既可以直接代替 actionBar 使用,也可以嵌套布局自定义actionBar 样式,但是在嵌套布局自定义样式的时候,左右两边总会有一定的间距。直接在 toolbar 中添加布局:

    <android.support.v7.widget.Toolbar
            android:id="@+id/toolbar"
            android:layout_width="match_parent"
            android:layout_height="?attr/actionBarSize"
            android:background="@android:color/holo_blue_bright">
    
            <View
                android:layout_width="match_parent"
                android:layout_height="match_parent"
                android:background="@android:color/holo_red_dark" />
    
        </android.support.v7.widget.Toolbar>

    toolbar 背景为蓝色,自定义布局背景为红色,默认是这样的:

    网上查找去除左边间距的方法都说在布局中设置 toolbar 一个属性就可以了,如下:

    app:contentInsetStart=”0dp”

    但是加上后的效果是这样的:

    只不过是间距变窄了一些。经过测试,发现还要设置 toolbar 的 paddingLeft 和 paddingRight 值为 0,当然,直接设置 padding 为 0 也是可以的。加上之后终于没有间距了:

    如果在代码里设置了显示返回箭头,即

    getSupportActionBar().setDisplayHomeAsUpEnabled(true);

    ,则需要给布局添加属性设置:

    app:contentInsetStartWithNavigation=”0dp”

    设置前:
    这里写图片描述
    设置后:
    这里写图片描述
    可以看到,返回箭头占的位置变窄了。
    最后,完整布局是这样的:

    <android.support.v7.widget.Toolbar
            android:id="@+id/toolbar"
            android:layout_width="match_parent"
            android:layout_height="?attr/actionBarSize"
            android:background="@android:color/holo_blue_bright"
            android:padding="0dp"
            app:contentInsetStart="0dp"
            app:contentInsetStartWithNavigation="0dp">
    
            <View
                android:layout_width="match_parent"
                android:layout_height="match_parent"
                android:background="@android:color/holo_red_dark" />
    
        </android.support.v7.widget.Toolbar>

    PS:使用 toolbar 代替 actionBar 时别忘了设置 Activity 主题为 NoActionBar ~~~

    展开全文
  • Toolbar加上app:contentInsetStart”="0dp"(左侧)或者“app:contentInsetEnd”="0dp"(右侧) <android.support.v7.widget.Toolbar android:layout_width="match_parent" android:layout_height="?an...

    解决方法:

    给Toolbar加上app:contentInsetStart”="0dp"(左侧)或者“app:contentInsetEnd”="0dp"(右侧)

    <android.support.v7.widget.Toolbar
            android:layout_width="match_parent"
            android:layout_height="?android:actionBarSize"
            app:contentInsetStart="0dp"
            app:contentInsetEnd="0dp"
            app:contentInsetLeft="0dp"
            app:contentInsetRight="0dp">
     
            <!-- 自定义的布局-->
            <View
                android:layout_width="match_parent"
                android:layout_height="match_parent"
                android:background="@android:color/holo_green_dark"/>
        </android.support.v7.widget.Toolbar>

    注意:

    我们这里用的是v7包下的Toolbar,所以要使用自定义的属性。如果你使用的是系统的Toolbar,则使用android:开头的属性才会生效。

     

    或者通过自定义style去全局设置

    此文通过学习博客: https://blog.csdn.net/afei__/article/details/51476096

    做的笔记

    展开全文
  • <android.support.v7.widget.Toolbar xmlns:app="http://schemas.android.com/apk/res-auto" android:id="@+id/base_toolbar" android:layout_width="match_parent" android:layout_height="46dip" android:...
  • Adnroid Toolbar 自定义Toolbar布局

    万次阅读 2016-01-27 21:51:08
    默认调用系统的toolbar,分以下几个步骤: 在布局文件中添加toolbar 描述toolbar中menu的布局 在代码中调用 主布局文件: xmlns:tools="http://schemas.android.com/tools"
  • ToolBar自定义布局

    千次阅读 2017-04-04 17:26:00
    自定义ToolBar
  • 特殊情况要求menu是一个可以动态控制的item,可以动态更新,布局也不止是一张图片一个string那么简单,如下图中红色框中的menu item所示,购物车的icon上悬浮数量,数量动态变化除此之外还要求可以逻辑处理可以复用...
  • 前言 昨天,偶然了解到官方提供...1、自定义toolbar_layout布局的时候,没有提示layout_gravity属性(因为设置的Title要居中),在类里面也没有这个View id的提示; 2、action bar都是图片View,怎么去动态的改变它的ic
  • android一种简单的toolbar布局实例
  • 这是自定义Toolbar布局的一个实例,使用了SegmentedGroup自定控件
  • 参考: ... ...https://github.com/mosil/Android-Mosil-Sample-Toolbar http://www.codes51.com/article/detail_144474.html http://blog.csdn.net/lmj623565791/article/details/45303349
  • Android自定义ToolBar布局

    千次阅读 2016-01-17 00:52:21
    但是会出现这用情况:在主界面要实现类似于tab的切换功能,和IOS那种一样,左右切换,对于用toolbar布局来说,这就有点麻烦了。此时我们就需要来自定义toolbar布局了,其实还是挺简单的,这里我们需要用到...
  • 自定义Toolbar,实现方式如下: 1.布局文件,在activity_main.xml 文件中写入Toolbar <?xml version=1.0 encoding=utf-8?> <android.support.constraint.ConstraintLayout xmlns:android=...
  • 首先看图: ...你没有看错,这是结合toolbar做出来的! 下面说说如何实现: 一、布局 <?xml version="1.0" encoding="utf-8"?> <RelativeLayout xmlns:android="http://schemas.an...
  • Android Toolbar自定义标题 标题居中

    千次阅读 2018-08-08 12:42:21
    自定义Toolbar,实现方式如下: 1.布局文件,在activity_main.xml 文件中写入Toolbar &lt;?xml version="1.0" encoding="utf-8"?&gt; &lt;android.support.constraint....
  • 1.首先定义你要的toolbar布局toolbar.xml xml version="1.0" encoding="utf-8"?> xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="fill_parent" andro

空空如也

空空如也

1 2 3 4 5 ... 16
收藏数 319
精华内容 127
热门标签
关键字:

toolbar自定义布局