自定义Toolbar,实现方式如下: 1.布局文件,在activity_main.xml 文件中写入Toolbar <?xml version="1.0" encoding="utf-8"?...match_parent" android:layout_height="match_parent" xmlns:app="http://schemas.android.com/apk/res-auto" <android.support.v7...android:textColor="@color/group_button_dialog_pressed_holo_light" android:textSize="22sp" / </android.support.v7...错误原因:由于Activity已存在ActionBar,所以使用Toolbar进行替换时出错 •使用AppTheme去掉ActionBar 修改values文件下style.xml中的AppTheme属性...文件中设置 android:theme="@style/AppTheme.NoActionBar" 3.activity代码中设置Toolbar @Override protected void
: Binary XML file line #31 in cn.zkhw.client:layout/activity_bottom_navigation: Binary XML file line...: Binary XML file line #31 in cn.zkhw.client:layout/activity_bottom_navigation: Binary XML file line...xml version="1.0" encoding="utf-8"?...的子类 ; 一般情况下 Activity 都是 FragmentActivity 或 AppCompatActivity ; AppCompatActivity 是 Android 支持库 中的一个 核心类..., 它允许开发者在使用较老版本的 Android 系统时也能利用一些新版本的特性和样式 ; Android 支持库 指的是 AndroidX 或 Android Support Library 库 ;
思路是在活动退出时,会调用onDestroy方法销毁界面,在这个方法里面想办法隐藏界面即可。找到下面这种方法,但还是不行。还尝试过用基类找到所有edittext然后让它们失去焦点,隐藏软键盘。...注意点:用这个隐藏软键盘的方法,最好做为空判断,否则有可能会出现空指针的异常,如当前界面没有控件获取焦点时,则getCurrentFocus()这个方法得到的是一个null....或者是用requestFocus》在XML布局文件里。...android.view.InflateException: Binary XML file line #2: <merge / can be used only with a valid ViewGroup...root and attachToRoot=true Caused by: android.view.InflateException: <merge / can be used only with
AppBarLayout 基本使用方法 AppBarLayout 是 android support design 这个支持包中的类,前面说过它的一切效果都建立在 CoordinatorLayout 这个父类容器之上...NestedScrollingChild 是一个接口,目前它的实现类有 4 个。 ?...xml version="1.0" encoding="utf-8"?...布局文件中也可以通过相应的属性操作 Collapsing title 的行为。...Content scrim 除了在 xml 属性中配置外,还可以通过代码设置。
特别是,应该在 res/values-xx/styles.xml 中设置以下样式: <!...在用户滑动时,标题的高度也可以改变。 ?...CoordinatorLayout 故障解决 CoordinatorLayout 非常强大但容易出错。...使用 CoordinatorLayout 时出错的方式有很多种,当你发现出错时可以在这里添加提示。...CoordinatorLayout 的工作方式是通过搜索所有在 XML 中静态地使用 app:layout_behavior 标签或者以编程的方式在 View 类中使用 @DefaultBehavior
1.准备Toolbar 先隐藏系统自带的actionbar,在AndroidManifest.xml文件<application 标签中: android:theme="@style/Theme.AppCompat.Light.NoActionBar..." (注意此处的Activity应继承AppCompatActivity) 再在布局文件中添加Toolbar,activity_main.xml文件中: <?...xml version="1.0" encoding="utf-8"?...private int mTouchSlop;//系统认为的最小滑动距离 private float mFirstY;//用户首次触摸的Y坐标 private float mLastY;//用户滑动结束时Y...坐标 private ObjectAnimator mAnimator;//将控件与动画联系起来的类(可以使指定的控件,实现指定的动画效果) private boolean mShow;//toolbar
第1步:创建自定义视图类。...方法,以告知Spyglass框架在视图膨胀时将属性值路由到此方法。...Spyglass注释,Spyglass框架将在编译时检测它并自动生成setTitle类。...第4步:在自定义视图的setTitle方法中使用生成的类: private void init(AttributeSet attrs, int defStyleAttr, int defStyleRes...现在,当您从XML实例化类时,Spyglass伴侣会解释属性并进行所需的方法调用。 例如,如果我们膨胀以下布局,则将使用”Hello, World!”作为参数调用setTitle。
当我在AS上新建一个module时,系统默认的最外层布局不再是我们熟悉的五大布局中的一种,而是一个全新的布局:CoordinatorLayout。...定义的布局文件如下: <?xml version="1.0" encoding="utf-8"?...exitUntilCollapsed: 同样顾名思义,这个flag时定义何时退出,当你定义了一个minHeight,这个view将在滚动到达这个最小高度的时候消失。...下面来通过flag为exitUntilCollapsed时,来实现Toolbar的折叠显示的效果。...view类使用@DefaultBehavior修饰符来添加注解。
第14章 使用Kotlin 进行 Android 开发(1) ?...布局文件activity_main.xml内容如下 <?xml version="1.0" encoding="utf-8"?...XML 代码 activity_item_list.xml 设计效果图 AppCompatActivity 在使用Android Studio开发Android应用的时候,创建项目时,自动继承的是AppCompatActivity...item_list_content.xml 布局文件。...不同点是LayoutInflater 是用来找 res/layout/ 下的 xml 布局文件并实例化(填充布局);而 findViewById() 是找 xml 布局文件下的具体widget控件(如
的确,好的协议或文件格式,会大大提升使用者的效率。这里的文本化,包括两类,一是通信协议,二是数据文件(包括配置文件,日志文件等)。下面分别讨论这两种数据的常用格式。 1....配置文件常用的格式有ini,xml格式,比较推荐的是xml格式的,xml分层的结构和灵活的设计可以很方便的扩展并且保存向下兼容。...日志文件一般分为两种,一种是出错日志,另一种是流水日志。...这里记录流水的原因有两个:一是如果补偿出错时,可以根据补偿前的数量进行数据恢复,二是补偿完后用于和用户进行对帐应付投诉。...总之,在设计协议或数据文件时,采用文本格式还是二进制格式,以及如何制定格式,最终要站在使用者的立场上进行考虑,易用性、扩展性、性能,需要综合考虑,权衡利弊,多设计一些场景,从而可以挖掘更多的需求,也使得格式更方便地满足更多需求
而在 DrawerLayout 没诞生之前,需求中需要实现侧滑导航效果时,我们通常会选择去选择一些成熟的第三方开源库(如最有名的 SlidingMenu)来实现类似的效果。...需要吐槽的是,这里如果你引入了 com.android.support:design:23.1.0 ,工程运行后 NavigationView 会报一个 android.view.InflateException...用于NavigationView的典型menu文件,应该是一个可选中菜单项的集合。其中checked=”true”的item将会高亮显示,这可以确保用户知道当前选中的菜单项是哪个。...里面的图标,可以下载APP,解压后,去文件夹里取出来~ 主要就是一个线性布局的菜单并结合了 Translucent System Bar 的特性。...android.support.v7.app.ActionBarDrawerToggle; import android.support.v7.app.AppCompatActivity; import android.support.v7
2.6绑定到组件事件属性 就是在界面组件中为指定的组件通过属性标签定义监听器类 刚刚那个xml文件把button那个部分改一下 <Button android:paddingTop...EditText类的onKeyDwon()方法,因此,当用户在此组件上按下任意键时都会触发OnKeyDown()方法,在该方法中返回false,即按键事件会继续向外传递 布局文件挺简单的,就是把上面那个自定义的组件包含进来就...: Binary XML file line #8: Error inflating class cn.aiyuan1996.huidiaoprocess.MyTestBox 10-25 16:50:33.398...: E/AndroidRuntime(1463): Caused by: android.view.InflateException: Binary XML file line #8: Error inflating...类中处理的消息的方法即可,当新启动的线程发送消息时,消息会发送到与之关联的MessageQueue,而Handler会不断的从MessageQueue中获取并处理消息-这将导致Handler中的处理消息的方法被回调
由于仪器测试内置于 APK 中(与您的应用 APK 分离),因此它们必须拥有自己的 AndroidManifest.xml 文件。...不过,由于 Gradle 会自动在构建时生成该文件,因此它在您的项目源集中不可见。您可以在必要时(例如需要为 minSdkVersion 指定其他值或注册测试专用的运行侦听器时)添加自己的清单文件。...构建应用时,Gradle 会将多个清单文件合并成一个清单。 当您新建项目或添加应用模块时,Android Studio 会创建以上所列的测试源集,并在每个源集中加入一个示例测试文件。...在EditText中输入任意字符串,点击Button在TextView中显示出来,如图6、7所示: 为了照顾到更多小伙伴,这里尽量写的细点,对应的Activity/xml文件如下所示: import...xml version="1.0" encoding="utf-8"?
为此,Android提供了加强版的工具栏控件即Toolbar,因为Toolbar继承自ViewGroup,而且可在布局文件中像其它布局视图一样使用,所以灵活性大大的提高了。... @color/blue_light 2、修改AndroidManifest.xml...下面是个布局例子片段: <android.support.v7.widget.Toolbar android:id="@+id/tl_head" android...SearchView的写法是app:actionViewClass="android.support.v7.widget.SearchView" 2、代码中获取SearchView对象,新控件还可通过v7类MenuItemCompat...2、溢出菜单列表在菜单文字左侧显示图标的方法,使用ActionBar时正常,使用Toolbar时反而不会显示图标了。
其中第二点尤为突出,寻径表的膨胀不仅会降低网关寻径效率(甚至可能使寻径表溢出,从而造成寻径故障),更重要的是将增加内外部路径刷新时的开销,从而加重网络负担。...例如:有一个C类地址为:192.9.200.13,按其IP地址类型,它的缺省子网掩码为:255.255.255.0,则它的网络号和主机号可按如下方法得到: 第1步,将IP地址192.9.200.13转换为二进制...然后按以下基本步骤进行计算: 第1步,将子网数目转化为二进制来表示; 第2步,取得子网数二进制的位数(n); 第3步,取得该IP地址类的子网掩码,然后将其主机地址部分的的前n位置“1”,即得出该IP地址划分子网的子网掩码...为了便于理解,现举例说明如下:现假如要将一B类IP地址168.195.0.0划分成27个子网,则它的子网掩码的计算机方法如下(对应以上各基本步骤): 第1步,首先要划分成27个子网,“27”的二进制为“...11011”; 第2步,该子网数二进制为五位数,即n = 5; 第3步,将该B类地址的子网掩码255.255.0.0的主机号前5位全部置“1”,即可得到 255.255.248.0,这就是划分成 27个子网的
NewLife.Redis 优先支持 IAccessor 接口,因此,把XCode实体对象写入Redis时,采用的是二进制高效精简格式,而不是默认的Json格式。...实体类可通过重载 OnWrite 来自定义二进制序列化的行为。...,影响计算应用的加载甚至可能导致出错退出; 这种场景,可以在加载一次后,把实体列表数据保存到本地文件中,然后定时(10分钟)更新; 下次启动时,直接使用本地缓存数据,大大提升了应用启动速度,并且降低了数据库负担...快速展现用法,代码配置连接字符串 数据模型文件。建立表格字段和索引,名字以及数据类型规范,推荐字段(时间,用户,IP) 实体类详解。数据类业务类,泛型基类,接口 功能设置。...Xml,Json,二进制,网络或文件 分表分库。常见拆分逻辑 高级统计。聚合统计,分组统计 批量写入。批量插入,批量Upsert,异步保存 实体队列。写入级缓存,提升性能。 备份同步。
CloudReader 一款基于网易云音乐UI,使用GankIo及豆瓣api开发的符合Google Material Desgin阅读类的开源项目。...每天第12:30之后更新,因为双休不更新所以内容缓存三天网络取不到就取缓存。 福利: Glide加载图片,点击查看大图,支持双指缩放,一下可查看列表的所有图片,再也不用逐个点击每张图啦。...书籍: 检索豆瓣心理学类的书籍并展示。 抽屉界面 完全仿网易云音乐抽屉界面,包括诸多细节如透明标题栏,背景透明度,水波纹颜色等。...xml version="1.0" encoding="utf-8"?...最终布局文件: <android.support.v7.widget.Toolbar android:id="@+id/toolbar" android:layout_width
13.2 一个简单Anko视图 这里是一个转换成 Anko 的简单 XML 文件。...MyTodoApplication/app/src/main/res/layout/activity_main.xml中,设置android.support.v7.widget.Toolbar的背景色为...这些 ids 需要手工在一个加做 ids.xml 的文件里创建,这个文件放在 app/src/main/res/values/ids.xml。如果这个文件不存在就创建它。文件内容如下: <?...Screenshot_1500667248.png 首先,这个是主页面,对应 activity_main.xml 视图, 文件内容如下: <?...另外,Kotlin 的 Android 视图 DSL Anko帮我们从繁杂的 XML 视图配置文件中解放出来。
,一般设置成app:layout_behavior="@string/appbar_scrolling_view_behavior"即可 Behavior:它是CoordinatorLayout类下的一个抽象类...CollapsingToolbarLayou中app:title="@string/app_name",当CollapsingToolbarLayou设置app:titleEnabled="false"时标题是不会有动画的...以下是XML布局代码,注意根布局控件是CoordinatorLayout ,RecyclerView一定要填充数据且充满否则无效果。...xml version="1.0" encoding="utf-8"?...android:background="@drawable/bg_splashx_1" /> <android.support.v7
创建聚合项目 先创建一个普通的Maven项目: 然后,填写项目名称与组织ID: 当项目创建成功后,默认会打开pom.xml,在该文件中添加配置: pom节点进行配置,使用该节点配置的依赖,子项目是不可以直接使用的: 如果直接在子项目中尝试使用该依赖的类,将会出错: 假设是shop-order子模块项目需要使用MySQL的依赖,需要在子模块项目的...另外,在以上操作步骤中,shop-user子模块项目并没有添加MySQL的依赖,所以,当执行同样的测试时,肯定是会出错的! 2. 项目前期准备–学习创建SpringBoot聚合项目 2.1....在第4个界面中,主要确定存储项目文件的位置是否正确,全部无误后,则完成创建过程! 2.2....创建完成后,在子模块项目的pom.xml文件中可以看到其父项目依然是SpringBoot项目,而不是之前创建的blog项目: 则需要将此处的父项目改为blog项目(打开父项目的pom.xml文件找到相关信息后复制并粘贴到子模块项目中
领取专属 10元无门槛券
手把手带您无忧上云