1.工具栏 这个概念,所接触的很多开发软件或工具,都会碰到。在手机开发的时候,可以进行导航、显示相应的标题等,使开发者不至于在应用程序中迷路。...上右击,选择“new/andorid Resource Directory”,在弹出的对话框中,设置ResourceType为Menu,Directory Name采用默认值,即可创建menu文件夹。...好处是可以进行单手操作,即用户单手完成界面切换,从而查看不同的信息。...2.1 BottomNavigationView类 用到了Fragment的知识,每个item都有一个icon和一个title组成,单击控制状态即可。...本质上是一个AdapterView,既然是AdapterView,在显示数据的时候,就需要使用到适配器。
一、认识ExpandableListView ExpandableListView 是 ListView 的子类,它在普通ListView的基础上进行了扩展,它把应用中的列表项分为几组,每组里又可包含多个列表项...android:childIndicator:显示在子列表旁边的Drawable对象,可以是一个图像。 android:childIndicatorEnd:子列表项指示符的结束约束位置。...二、ExpandableListView 示例 接下来通过一个简单的示例程序来学习ExpandableListView的使用方法。...getChildrenCount():该方法返回特定组所包含的子列表项的数量。 getChildView():该方法返回的View对象将作为特定组、特定位置的子列表项。...修改程序启动的Activity,运行程序,可以看到下图所示界面效果。 ? 点击组的时候,会将其子元素打开,如上图右侧所示,单击其中的列表会弹出消息提示。
概述 本节课介绍Android中可实现二级可展开收缩列表的ExpandableListView容器,笔者感觉它非常难用并且难理解,很多时候我们可能需要对控件进行扩展和定制,然而它不太方便扩展,它使用难点主要在数据结构上和对控件的事件监听...,其他的实现方式类似ListView,下面会提供笔者在实际开发中使用到的案例。...上面实现的效果可展开的二级列表,每个组项都可能有若干个子项,默认的ExpandableListView不太美观,我们需要通过自定义布局类美化它,在使用过程中有一些需要我们去了解的点,会在实现过程提一下。...,我们设置数据的时候分别在getGroupView和getChildView方法来设置组视图和子项视图数据,最后返回填充数据的视图对象,一些逻辑控制的代码也是在这两个方法中进行,比如控制组项的展开、组项的点击...,终究我们还是可以找到解决方案,在Android开发当中我们经常打交道也最头痛的是UI,多实践和学习才能更好的完成工作,谢谢大家。
、实现效果 ExpandableListView又称可扩展的ListView,简单来说长这个样: 每一个一级布局下面又可以展开二级布局。...二、实现步骤 使用ExpandableListView主要有三个步骤: 编写父布局 编写子布局 适配器的书写 1.编写父布局parent.xml 父布局其实很简单,就是两个并排的TextView,用于展示课程名字和分数...的Adapter都要继承BaseExpandableListAdapter这个类,并且必须重载getGroupView和getChildView这两个最为重要的方法。...getGroupView(),返回外面那层布局的视图,也就是各种课程的名称以及分数: getChildView(),返回子布局里面的视图,也就是每门学科的详细信息: GradeAdapter的详细代码为...,我们在getGroupView中初始化这些变量,这些变量的数据都保存在list里面,都在我们初始化GradeAdapter时传进来。
步骤: 总布局的创建,里面只要一个ExpandableListView控件。 ExpandableListView的item布局创建,本布局用最传统的做法分为Group和Child布局。...1: 总布局的创建,里面只要一个ExpandableListView控件。 这里文件非常简单,只有一个控件,当然ExpandableListView也是有很多属性的。...这里都没有写,去掉箭头,在Activity中动态添加。这里布局文件我都省去了根布局LinearLayout。...适配器创建 适配器的创建才是重点,首先我们对ExpandableListView自定义适配器,然后再在里面嵌套一个GridView的自定义适配器,当然你也可以调用系统的,不过个人觉得自定义有更好的灵活性...3.1:方法作用详情(没有先后顺序,古无序号) 首先定义变量(这里listChild为什么list里泛型还是list,我在Activity中解释) public Context context;
,以便单击item时显示 return childMap.get(groupPosition).get(childPosition).getTitle(); } /* *...取得给定分组中给定子视图的ID....) findViewById(R.id.expandlist); //在drawable文件夹下新建了indicator.xml,下面这个语句也可以实现group伸展收缩时的indicator...中,我们给ExpandableListView添加了上下文菜单,长按group或者child的某一项都能弹出上下文菜单,另外,在group和child中,都添加了一个 这样的按钮,本来是打算,点击group...中的此按钮弹出和长按group时弹出一样的上下文菜单,点击child上面的此按钮时也弹出相应的上下文菜单,但是此问题没能解决。
实现效果图: expandableListView groupIndicator 图片默认是在左边,而且比较难看,而我要的是实现groupIndicator 在右边自定义图片, 换图片 最简单的就是直接...目录下这里我直接用系统的 @android:drawable/divider_horizontal_dark_opaque 这个是一张图片 5.在自己的style。...中设置 Indicator位置 expandablelistView 提供一个方法设置位置 Display dp = getWindowManager().getDefaultDisplay(); int...;所以我就只能把图标给屏蔽了,然后在groupItem的布局加一个ImageView,用ImageView自己实现。...然后在适配器上getgroupView 设置父布局,在getChildView设置子布局。和listView的差不多。
简介 在日常的开发中,有可能会遇到需要一些可以展开的列表,比如QQ的好友列表,电商的购物车折叠显示。...Android也给我们提供ExpandableListView类,完美实现这样类似的需求, 极大的方便了我们开发。结合之前的项目我们做一个简单的讲解。 首先懒看一下最终的实现效果: ?...Controller中。...isExpanded) { //设置套餐折叠时显示套餐商品的图片 initGoodsImage(collocationPackageBean, parentViewHolder...(TextView) view.findViewById(R.id.tv_collocation_price); } } /** * 初始化并设置套餐折叠时的所有商品图片
动态列表直接使用ListView,动态内容就得自己写个控件了,自定义控件的难点在于如何把握动态下拉和收起的动画。...点击展开动态全文时,就得显示所有行的文本,整个文本的高度是getLineHeight*getLineCount。现在有了每条动态的初始高度,以及动态全文的完整高度,再加个拉伸动画就差不多了。...getGroupView : 获取指定分组的视图。 getChildView : 获取指定子项的视图。 isChildSelectable : 判断子项是否允许选择。...).box_title); Toast.makeText(mContext, desc, Toast.LENGTH_LONG).show(); return false; } } 调用的代码...onEndFold : 结束折叠时触发。
简介 在日常的开发中,有可能会遇到需要一些可以展开的列表,比如QQ的好友列表,电商的购物车折叠显示。...Android也给我们提供ExpandableListView类,完美实现这样类似的需求, 极大的方便了我们开发。结合之前的项目我们做一个简单的讲解。...Controller中。...isExpanded) { //设置套餐折叠时显示套餐商品的图片 initGoodsImage(collocationPackageBean, parentViewHolder...(TextView) view.findViewById(R.id.tv_collocation_price); } } /** * 初始化并设置套餐折叠时的所有商品图片
三级级联关系的列表,上面是我项目做出来的效果图,这个是单选的效果。...实现的思路:左边这个是listView ,右边是两级的expandListView 将这两个view 动态放到viewpager里面 设置好比例,剩下的就是处理点击联动事件了。...大体代码如下: activity中 放viewpager的xml <LinearLayout android:id="@+id/category_ll"...attrs); } public MyViewPager(Context context) { super(context); } //判断menu在x...List firstBeans =new ArrayList(); private int mSelectedBackgroundResource;//选中item时的背景颜色
距离上次更新,时隔略长,诸事繁琐,赶在去广州答辩之前,分享下安卓 android 中的一个 列表收缩 类---ExpandableListView 先上效果图: 如果想直接看实现此页面的代码请下滑到...我在这里主要通过源代码的注释和必要的说明,说明如何实现自定义的收缩列表。...必要的函数: 0-> 1 ExpandableListView expandListView = (ExpandableListView) this.findViewById(R.id.ecpandable...的儿童的数据,就是存放arms 206 @Override 207 public View getChildView(int groupPosition...-其他设置-------------------------------------------------------------------*/ 368 369 //孩子在指定的位置是可选的
当通过列表字典来创建 DataFrame 时,每个字典通常代表一行数据,字典的键(key)对应列名,而值(value)对应该行该列下的数据。如果每个字典中键的顺序不同,pandas 将如何处理呢?...列顺序:在创建 DataFrame 时,pandas 会检查所有字典中出现的键,并根据这些键首次出现的顺序来确定列的顺序。...在个别字典中缺少某些键对应的值,在生成的 DataFrame 中该位置被填补为 NaN。...总而言之,pandas 在处理通过列表字典创建 DataFrame 时各个字典键顺序不同以及部分字典缺失某些键时显示出了极高的灵活性和容错能力。...希望本博客能够帮助您深入理解 pandas 在实际应用中如何处理数据不一致性问题。
界面如下:调用BluetoothLeService中的方法: ?...在Service中需要创建一个实现IBinder的内部类(这个内部类不一定在Service中实现,但必须在Service中创建它)。...在OnBind()方法中需返回一个IBinder实例,不然onServiceConnected方法不会调用。...(菜单栏中) invalidateOptionsMenu();//Menu ItemonCreateOptionsMenu()只有在menu刚被创建时才会执行,因此要想随时动态改变OptionMenu就要实现...每个Service下面的Characteristic 7,单击上图中的Characteristic UUID--->执行DeviceControlActivity:ExpandableListView.OnChildClickListener
当组件获得或失去键盘焦点时,可调用侦听器对象中的相关方法,并将 FocusEvent 传递给它。 API focusGained ? focusLost ?...要获取许多组件的焦点状态,请考虑在KeyboardFocusManager类上实现PropertyChangeListener实例,如如何使用焦点子系统中的将焦点更改跟踪到多个组件中所述。...单击文本字段以将焦点返回到初始组件。 按键盘上的Tab。焦点移到组合框,并跳过标签。 再次按Tab键。焦点移至按钮。 单击另一个窗口,以便FocusEventDemo窗口失去焦点。...为按钮生成一个临时的焦点丢失事件。 单击FocusEventDemo窗口的顶部。该按钮触发了聚焦事件。 按键盘上的Tab。焦点移至列表。 再次按Tab键。焦点移到文本区域。...该演示通过在文本区域上调用setRequestFocusEnabled(false)来禁用文本区域的单击焦点,同时保留其选项卡焦点功能。
按键说明 按键 说明 + 需要同时按下加号左右两侧的键 , 按下逗号左侧的键后,松开,然后按下逗号右侧的键 Ctrl 控制键,键盘上标记了Ctrl的键,在Mac键盘上标记为control Shift 上档键...,键盘上标记了Shift的键 Alt 切换键,键盘上标记了Alt的键,在Mac键盘上与Option是同一个键 Command 命令键,Mac键盘独有,标记了Command的键 Enter 回车键,键盘上标记了...Enter的键,在Mac键盘上与return是同一个键 Space 空格键,键盘上最下方、最大的按键 Up / Down 方向上/方向下,通常在键盘上标记了向上/向下的箭头 某些快捷键可能与操作系统或其它软件的全局快捷键是冲突的...管理与导航 Windows Mac OS 说明 Shift + F6 Shift + F6 重命名,适用于:在文件列表中对文件重命名,在文件内部对类名、属性名、方法名等重命名 Shift + 单击 在选项卡处单击以关闭文件...操作方式 可以通过快捷输入简单的内容后按下Enter键,快速完成特定的代码内容,这些内容可以在设置的Editor > Live Templates中查看或调整。 2.2.
5 整个文件内容的选取: 把指针移到该文件中任一行首(在指针变成向右的箭头时),快速单击鼠标左键三次便可选中整个文件内容(也可利用组合键“ Ctrl+A ”快速选定)。...Shift+Alt+ 鼠标左键单击:可选中原光标所在位置至后鼠标左键单击光标位置的矩形区域。 小提示: 在选取时还可利用“ F8 ”键来进行快速选取。...在需要返回到前次编辑位置时,可直接在键盘上按组合键“ Shift+F 5 ” 。同时使用该组合键还可使光标在最后编辑过的三个位置间循环转换。...8.快速调整 Word 行间距 问:在编辑调整 Word 文件行距时,常见一些“高手”不用调出格式来进行设置,请问他们是如何完成调整的呢?...答:在 Word 文件中,行的操作非常多,而列的操作相对来说要少很多,其实要选择列有种好方法轻松完成。
例如,当人们在文档中键入文本时,触控栏可以包含用于调整字体样式和大小的控件。或者,当在地图上查看某个位置时,Touch Bar 可以提供对附近兴趣点的快速、一键式访问。...即使您的应用正忙于工作或更新主屏幕,当人们使用触控栏控件时,也会立即做出响应。 如果可能,人们应该能够在触控栏中开始和完成一项任务。...避免让人们切换到键盘或触控板来完成任务,除非该任务需要比 Touch Bar 提供的更复杂的界面控件。 避免将触控栏用于与众所周知的键盘快捷键相关的任务。...准确反映出现在触控栏和主屏幕上的控件状态。例如,如果一个按钮在主屏幕上不可用,则它不应该在触控栏中可用。 响应用户交互时,避免在 Touch Bar 和主屏幕中显示相同的 UI。...例如,当人们在邮件的新消息窗口中单击屏幕上的表情符号和符号按钮时,他们希望字符查看器在主屏幕上打开,而不是在触控栏中打开。
在本文中,我们将向您展示如何在Linux服务器或计算机上安装Debian 10(Buster)最小服务器 。...决定对磁盘进行分区后,选择“ 是”在磁盘上创建新的空分区表,然后单击“继续”。 接受分区磁盘 18.已在磁盘上创建新的空分区表。 双击它以创建新分区。...完成后,选择“完成”设置分区,然后单击“继续”。 根分区设置 22.新分区(大小为30.4 GB )现在应该出现在所有已配置分区的列表中,其摘要如下面的屏幕截图所示。...分区表摘要 26.然后接受在分区过程中对磁盘所做的最新更改,以允许安装程序将它们写入磁盘。 选择是 ,然后单击继续。 之后,安装程序将开始安装基本系统。.....Xfce选项以避免安装它们(请参阅系统要求)然后单击继续。 软件选择 32.最后但并非最不重要的是,通过从以下界面中选择是 ,告诉安装程序安装GRUB引导加载程序。 然后单击继续。
我们经常看到如下图所示的Excel表格: ? 这种表格,每一列的包含关系,人眼看起来一目了然。但是A列B列这种由多个单元格合并起来的单元格,在使用程序进行处理的时候却非常不方便。...如果要使用pandas这种程序来处理Excel表格,我希望Excel的表格数据长成下面这个样子: ? 那么要如何把人容易读的表格转化为程序容易读的表格呢?下面的步骤,会让你在3秒钟内实现。...首先全选所有数据,并单击“合并后居中”按钮旁边的小箭头,单击“取消单元格合并”,运行以后的效果如下图所示。 ? 此时,数据还是处于选中的状态,先不要取消。...直接点击菜单栏的“编辑”按钮,选择“查找”-“定位”,如下图所示。 ? 在弹出的对话框中,单击“定位条件”按钮,如下图所示。 ? 选中“空值”并单击确定。如下图所示。 ? 此时,最关键的一步到了。...鼠标千万不要乱动,直接先按下键盘上面的 =键,然后再按一下键盘上的 方向键上。 现在Excel的显示如下图所示: ? 最后,按下键盘上的 Ctrl + Enter。 任务完成。