美文网首页
ToolBar的初步使用

ToolBar的初步使用

作者: zhong_bao | 来源:发表于2017-07-27 13:57 被阅读0次

    android.support.v7.widget.Toolbar的针对于Activity的用法

    1、配置
    ToolBar要求我们的Activity主题必须是NoActionBar,所以在我们的appTheme设置为

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

    其次是我们的布局toolbar.xml,按照我们的布局特性可以自行定制和添加监听

    <?xml version="1.0" encoding="utf-8"?>
    <android.support.v7.widget.Toolbar xmlns:android="http://schemas.android.com/apk/res/android"
        xmlns:app="http://schemas.android.com/apk/res-auto"
        android:id="@+id/toolBar"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:fitsSystemWindows="true"
        android:minHeight="?attr/actionBarSize"
        android:theme="@style/ThemeOverlay.AppCompat.Dark.ActionBar"
        android:background="@color/colorPrimary"
       >
    
        <RelativeLayout
            android:orientation="horizontal"
            android:layout_width="match_parent"
            android:layout_height="wrap_content">
    
            <TextView
                android:id="@+id/tv_title"
                android:layout_width="fill_parent"
                android:layout_height="wrap_content"
                android:gravity="center"
                android:singleLine="true"
                android:text="title"
                android:textColor="@android:color/white"
                android:textSize="20sp"
                android:layout_marginRight="15dp"
                />
    
            <TextView
                android:id="@+id/tv_title_more"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_alignParentRight="true"
                android:layout_marginRight="10dp"
                android:text="title right"
                android:textColor="@android:color/white"
                android:textSize="20sp"
                android:visibility="gone"
                 />
        </RelativeLayout>
    </android.support.v7.widget.Toolbar>
    

    最后是我们的BaseActivity的配置如下:

      @BindView(R.id.toolBar)
        Toolbar mToolbar;
        @BindView(R.id.tv_title)
        TextView mTitleTv;
        @BindView(R.id.tv_title_more)
        TextView mTitleRightTv;
    
        public FragmentManager mFm;
    
    
    /***************** Toobar ******************/
        public void initTitle(String title){
            setSupportActionBar(mToolbar);
            mToolbar.setNavigationIcon(android.support.v7.appcompat.R.drawable.abc_ic_ab_back_material);
            mToolbar.setNavigationOnClickListener(new View.OnClickListener() {
                @Override
                public void onClick(View v) {
                    popBack();
                }
            });
            mTitleTv.setVisibility(View.VISIBLE);
            mTitleTv.setText(title);
            getSupportActionBar().setDisplayShowTitleEnabled(false);
        }
    
        public void setTitleRight(String title,View.OnClickListener listener){
    
            mTitleRightTv.setVisibility(View.VISIBLE);
            mTitleRightTv.setText(title);
            mTitleRightTv.setOnClickListener(listener);
        }
    
        public void popBack() {
            mFm =  getSupportFragmentManager();
            if (mFm.getBackStackEntryCount() > 0)
                mFm.popBackStack();
            else
                finish();
        }
        /***************** Toobar ******************/
    

    2、使用
    每一个Activity中我们必须在其布局xx.xml文件添加一个

     <include
            android:id="@+id/toolBar"
            layout="@layout/toolbar"/>
    

    最后调用方法 initTitle("痛痛痛!!!");

    3 、效果图

    toobar.png

    相关文章

      网友评论

          本文标题:ToolBar的初步使用

          本文链接:https://www.haomeiwen.com/subject/tdezkxtx.html