1

不是讲理论的,就是遇到很多奇怪的问题;
没事做,决定自己仿个个魅族便签玩玩,体验一把开发app的过程;

如何加入标题栏,我还是比较喜欢称之为标题栏,我也没弄明白actionbar 和toolbar改了什么,只提供解决方案;

最初 的时候是这样的,因为toolbar是viewgroup ,也就是说在toolbar中可以直接添加其他控件/view,于是我就加了两个imagebutton;然后我们想啊,click事件怎么写呢?找到button,添加事件,这样做好像和toolbar没有半毛钱关系啊;
记得别忘了把主题修改为noactionbar

<?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/mytoolbar"android:layout_width="match_parent"android:layout_height="?attr/actionBarSize"android:background="@color/黄色"android:theme="@style/ThemeOverlay.AppCompat.ActionBar"app:popupTheme="@style/ThemeOverlay.AppCompat.Light"app:contentInsetLeft="0dp"app:contentInsetStart="0dp"><!--<RelativeLayout--><!--xmlns:android="http://schemas.android.com/apk/res/android"--><!--android:layout_width="match_parent"--><!--android:layout_height="match_parent">--><!--<ImageButton--><!--android:layout_width="wrap_content"--><!--android:layout_height="wrap_content"--><!--android:id="@+id/imageButton"--><!--android:background="@drawable/more"--><!--android:layout_alignTop="@+id/imageButton2"--><!--android:layout_alignParentLeft="true"--><!--android:layout_alignParentStart="true"--><!--android:layout_marginLeft="8dp" />--><!--<ImageButton--><!--android:layout_width="wrap_content"--><!--android:layout_height="wrap_content"--><!--android:id="@+id/imageButton2"--><!--android:background="@drawable/serch"--><!--android:layout_centerVertical="true"--><!--android:layout_alignParentRight="true"--><!--android:layout_alignParentEnd="true"--><!--android:layout_marginRight="8dp"/>--><!--</RelativeLayout>--></android.support.v7.widget.Toolbar>

然后google了一圈,发现toolbar 可以在activity 的 onCreate中获取,然后就可以自己动态定义toolbar上的元素了,比如说title什么的;但是奈何我用的Fragment,就又找了一圈:
问题一:解决Fragment中的toolbar问题

  @Overridepublic void onCreate(Bundle savedInstanceState) {// TODO Auto-generated method stubsuper.onCreate(savedInstanceState);setHasOptionsMenu(true);}@Overridepublic View onCreateView(LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) {View view = inflater.inflate(R.layout.activity_list,container,false);Toolbar toolbar = (Toolbar) view.findViewById(R.id.include);AppCompatActivity activity = (AppCompatActivity) getActivity();activity.setSupportActionBar(toolbar);activity.getSupportActionBar().setTitle("便签");toolbar.setNavigationIcon(R.drawable.more); //这边要留意的是setNavigationIcon需要放在 setSupportActionBar之后才会生效。toolbar.setNavigationOnClickListener(new View.OnClickListener() {@Overridepublic void onClick(View view) {}});}

问题二:重名问题,其实上面的代码不是困扰,困扰在哪里呢?

     Toolbar toolbar = (Toolbar) view.findViewById(R.id.include);//incude 是什么鬼呢?

这个命名实在是,首先我的toolbar本身id叫做toolbar,这个xml叫做toolbar.xml,然后我们将toolbar引入到我们自己的布局时,是这样的:

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

查了好久,stackoverflow看过,也没懂,后来自己想了想,我们在onCreateView中获取的view肯定是引如toolbar的布局,这样才能找到它啊;于是问题终于终结掉;

问题三:toolbar添加控件后 左侧总有空白
指在xml文件中添加控件

 <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:background="?attr/colorPrimary"app:contentInsetLeft="0dp"app:contentInsetStart="0dp" />

2

listview:

因为是想尽量模仿,不知道你们注意到listiew中每一项中间是存在间隔的,然后嘞也是弄了好久

<com.baoyz.swipemenulistview.SwipeMenuListView
        android:id="@+id/listView"android:layout_width="match_parent"android:layout_height="match_parent"android:layout_below="@+id/include"android:divider="#F8F8FF"   //间隔的颜色android:background="#F8F8FF" //背景颜色,可以选择和间隔颜色或者与列表项一致,否则你会发现间隔有两种颜色android:dividerHeight="4dp" //间隔大小/>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"android:layout_width="match_parent"android:layout_height="60dp"android:padding="8dp"android:background="#ffffff" //列表项背景颜色,这样就ok了>

题外话:
1.寻找答案时多动脑子
2.别想着自己配色,太难看;

Android ToolBar and Listview相关推荐

  1. android文件管理器listview,浅析Android文件管理器(项目一)

    文件管理器是管理文件的软件,帮助用户处理日常工作,管理储存在本地和网络中的文件.所有文件管理器都提供了基本的操作如创建.打开.查看.编辑.移动和删除文件.许多Android文件管理器还提供了额外功能, ...

  2. Android重绘ListView高度

    Android重绘ListView高度 经常会有这样需求,需要ListView默认将所有的条目显示出来,这就需要外层使用ScrollView,ScrollView里面放置一个重绘高度的ListView ...

  3. android 分组 listview,Android实现的ListView分组布局改进示例

    本文实例讲述了android实现的listview分组布局改进方法.分享给大家供大家参考,具体如下: 由于是在网上转载的一篇文章,在这里就不多说废话了,首先看一下最终的效果图: 然后是实现该listv ...

  4. android中设置ListView的选中的Item的背景颜色(附源码)

    http://longyi-java.iteye.com/blog/976067 ListView中没有默认的选择颜色,只有选择Item后的焦点颜色,鼠标点击时Item有颜色,放开鼠标后颜色也就没有了 ...

  5. [android] 练习使用ListView(一)

    练习使用ListView,BaseAdapter,先展示文字的,再练习图片的 MainActivity.java package com.android.test;import android.app ...

  6. android如何获取listview中的任意行数据

    android如何获取listview中的任意行数据 @Override public void onItemClick(AdapterView<?> arg0, View arg1, i ...

  7. Android之设置ListView数据显示的动画效果

    效果图: 平时我们要实现ListView数据显示时的动画效果,可以使用LayoutAnimationController为ListView设置动画效果,并通过ListView的setLayoutAni ...

  8. Android 开发笔记 ListView异步加载图片

    当ListView需要在线获取数据,并且列表中需要显示图片时,友好的处理方式是使用异步加载图片的方式. 这是因为LIstView中显示的内容是分为两部加载的,第一次加载文本信息(包含图片的uri地址) ...

  9. android 应用之listview添加radiobutton,获取textView

    程序效果: 点击一整行,更换radiobutton选择. xml代码: [java] view plaincopy <?xml version="1.0" encoding= ...

最新文章

  1. webstorm配置环境变量_webstorm中配置nodejs环境及npm步骤详细解说
  2. 如何用命令隐藏文件夹
  3. 科大星云诗社动态20210904
  4. 4、Python运算符、比较运算符、赋值运算符、位运算符、逻辑运算符、成员运算符、身份运算符、运算符优先级(学些笔记)
  5. spring 配置jdbc/hibernate/jpa
  6. .NET Core New csproj 如何发布可执行文件
  7. ionic3 隐藏子页面tabs
  8. 有危害吗_涂料漆对身体有害吗?涂料漆危害怎么预防
  9. 如何在海量数据中查询一个值是否存在?
  10. 数据结构与算法——广度搜索BFS
  11. Android 小項目之--猜名字有獎!RadionButton 和RadionGroup應用(附源碼)
  12. mysql排序规则选什么区别_mysql – 字符集和排序规则是什么意思?
  13. VS2019离线安装包制作
  14. Qt:局域网文件同步工具
  15. Linux脚本shell字符串处理,基本都有了,看着搜吧
  16. Python-元祖-字典
  17. Feature Selective Anchor-Free Module for Single-Shot Object Detection论文阅读翻译 - 2019CVPR
  18. 映射可以多对一吗_【高中数学集合与映射】(一)整数和有理数“一样多”?...
  19. 互联网大佬们齐聚首,除了演讲还有啥?点击All in 全部热点!
  20. 美国能让中国从网络上消失?

热门文章

  1. 【bzoj4864】[BeiJing 2017 Wc]神秘物质 Splay
  2. Spark Core:Scala单词计数
  3. GET提交中%5B与%5D代表什么意思?
  4. GLES2.0中文API-glShaderBinary
  5. mysql主备有几种方式,mysql 主备 主从 主主模式介绍
  6. Win10 21H2 19044+vs2019 WDK驱动开发,错误 MSB8040缓解Spectre 漏洞的库以及输出SXS.DLL的垃圾信息
  7. 植物大战僵尸2android最新版,植物大战僵尸2
  8. Ubuntu18.04 flash插件安装
  9. 1-SII--SharedPreferences完美封装
  10. 基于北向资金指数择时策略验证与思考