控件toolbar的基本使用
来源:互联网 发布:社交网络 下载 编辑:程序博客网 时间:2024/05/17 02:36
前言:
虽然Github上控件不计其数,功能形式也市各种各样,但我认为我们如果要掌握该控件,还是要亲自实现控件基本内容,而不是拿来注意。
toolbar的基本使用
首先引入依赖
compile 'com.android.support:design:24.2.1'
接着在XML文件中写出控件
<?xml version="1.0" encoding="utf-8"?><LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="wrap_content" tools:context="com.example.myapplication.MainActivity" xmlns:toolbar="http://schemas.android.com/apk/res-auto"> <android.support.v7.widget.Toolbar android:layout_width="match_parent" android:layout_height="wrap_content" toolbar:navigationIcon="@mipmap/menu" android:background="@color/colorPrimary" android:id="@+id/toolbar" toolbar:title="首页" android:theme="@style/Theme.ToolBar.ZhiHu" toolbar:popupTheme="@style/ToolbarPopupTheme" > </android.support.v7.widget.Toolbar></LinearLayout>
这里有几个点需要注意一下
xmlns:toolbar="http://schemas.android.com/apk/res-auto"
这个属性不可或缺,玩过自定义控件的朋友都知道这个,因为之后我们设置title之类的,需要用到的前缀是toolbar:XXXX。
android:theme="@style/Theme.ToolBar.ZhiHu"
是用来设置toolbar的主题,这里我自己写了一个主题,并继承系统内置的主题,目的是为了把toolbar最后一个图标的颜色改过来(如果不设置,它是黑色的)
toolbar:popupTheme="@style/ToolbarPopupTheme"
这个是用来设置菜单弹出的主题,我把它设置成为在toolbar下弹出,这样就不会阻挡住本控件,并且这里对菜单颜色背景之类进行设置。
resource代码
<resources> <!-- Base application theme. --> <style name="AppTheme" parent="Theme.AppCompat.Light.DarkActionBar"> <!-- Customize your theme here. --> <item name="colorPrimary">@color/colorPrimary</item> <item name="colorPrimaryDark">@color/colorPrimaryDark</item> <item name="colorAccent">@color/colorAccent</item> </style> ////////////////////////////////////// <span style="color:#ff0000;"><!--设置一个toolbar主题--></span> <style name="Theme.ToolBar.ZhiHu" parent="Theme.AppCompat.Light.NoActionBar"> <item name="actionOverflowButtonStyle">@style/ActionButton.Overflow.ZhiHu</item> <item name="android:textColorPrimary">#FFFFFF</item> </style> <style name="ActionButton.Overflow.ZhiHu" parent="android:style/Widget.Holo.Light.ActionButton.Overflow"> <item name="android:src">@mipmap/more</item> </style> //////////////////////////// <span style="color:#ff0000;"> <!--设置一个toolbar菜单的主题--></span> <style name="ToolbarPopupTheme" parent="@style/ThemeOverlay.AppCompat.Light"> <item name="android:colorBackground">#FFFFFF</item> <item name="actionOverflowMenuStyle">@style/OverflowMenuStyle</item> <!--新增一个item,用于控制menu--> </style> <style name="OverflowMenuStyle" parent="Widget.AppCompat.Light.PopupMenu.Overflow"> <item name="overlapAnchor">false</item> <span style="color:#ff0000;"><!--把该属性改为false即可使menu位置位于toolbar之下--></span> </style></resources>
Activity代码
@Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); supportRequestWindowFeature(Window.FEATURE_NO_TITLE); setContentView(R.layout.activity_main); toolbar = (Toolbar) findViewById(R.id.toolbar); toolbar.inflateMenu(R.menu.toolbar_menu); toolbar.setOnMenuItemClickListener(new OnMenuItemClickListener() { @Override public boolean onMenuItemClick(MenuItem item) { return false; } }); //setSupportActionBar(toolbar); }
经过我在网上的浏览,我发现使用toolbar大部分分为两种方式,一种是把toolbar当初actionbar使用,也就是先继承无actionbar主题,然后利用setSupportActionBar(toolbar)设置,把toolbar当作actionbar使用,这样确实可以,但是有亮点,一个是在使用的过程种,我们要注意setSupportActionBar(toolbar)的顺序,有时顺序不当会造成问题,还有一点,actionbar的有些设置是不能作用在toolbar上的,所以toolbar的功能有些被埋没了。
还有另外一个方法就是我写的这种,用supportRequestWindowFeatur(Window.FEATURE_NO_TITLE); 把toolbar隐藏,然后就能正常使用toolbar了。
在toolbar中加入点击事件,在代码中已经给出
这只是最基础最基础的用法,不过我健忘,又不喜欢重复,所以记录下载,然后把代码放在github上。
代码地址:
https://github.com/Ayo616/toobar
0 0
- 控件toolbar的基本使用
- ToolBar的基本使用
- ToolBar的基本使用
- ToolBar的基本使用
- ToolBar控件的使用
- Android控件Toolbar的使用
- ToolBar控件的使用<一> 通过菜单项设置ToolBar
- ToolBar控件的使用<二> 不通过菜单项设置ToolBar
- Android中Toolbar的基本使用
- Android ToolBar的基本使用方式
- 【Android开发】Toolbar的基本使用
- Android组件之Toolbar的基本使用
- Android控件之Toolbar + DrawerLayout的使用
- Android ToolBar 基本使用
- Toolbar基本使用
- 控件的基本使用
- android 控件 toolbar 使用注意
- DrawerLayout,Toolbar,NavigationView实现侧滑的基本使用
- Android进程之间通信的四种方式
- 解决win10/Office2016/Onedrive/上载中心经常冲突的问题
- JAVA RMI线程模型及内部实现机制
- java--swing--统一设置窗口字体样式
- 2016.10.26回顾 决策树
- 控件toolbar的基本使用
- android中的内存泄漏
- 【资源汇总】Android应用解决方案全攻略
- 2016.10.27 复习Bootstrap.1
- JAVA Socket超时浅析
- Linux命令之"watch"
- Android_Data 资料
- java基础7-java的方法
- 使用流进行通讯的一种可能犯的错误 (InputStream + OutputStream)