左边和右边分别为一个碎片,这两个碎片正好将一整个活动布满。一个活动当中可以拥有多个碎片,碎片的含义就是可以在同一个UI界面下,将这个界面分成好几个界面,并且可以分别更新自己的状态,如果没有碎片,那么如果你想要单独在某一个区域实现活动的“跳转”就不可能了,因此我们可以引入碎片,这样就可以在这个区域单独进行碎片的跳转。在利用底部标题栏进行首页UI的切换的时候就需要用到碎片,因此碎片在安卓开发当中十分广泛,这篇博客将会与你讲解如何实现静态加载碎片,除了静态加载碎片,还具有动态加载碎片的方式,两种方式不同的方式都进行理解与引用,才可以把碎片的威力发挥到最大。下面是代码,第一个是主活动当中的代码,主活动一定得继承Fragment这个类才可以实现碎片:
② XxxBinding.inflate( LayoutInflater , ViewParent, attachToRoot )
在Android开发中,FrameLayout是所有布局容器中最简单的一种,在前边博客中有介绍关于Android开发中线性布局LinearLayout的应用。LinearLayout采用的是线性平铺的布局模式,FrameLayout也被称为帧布局。
AbsoluteLayout绝对布局已经被弃用,但是相关API依然有效,其又被称为坐标布局,在iOS开发支持Autolayout之前,所有的布局模式都可以理解为绝对布局。但是iPhone设备的屏幕尺寸有限,使用绝对不觉并不会出现太多难以解决的问题,但是对于Android设备就不同了,Android设备的屏幕尺寸和分辨率都无规范,使用坐标绝对布局的缺陷就十分明显。
序言 本文力求用最短的篇幅,让读者明白CoordinatorLayout的用法。原理不作深入讨论。 CoordinatorLayout是什么 由Google加入Android系统的一个新的布局容器。相当于一个高级的FrameLayout。它通过Behavior的方式,使容器类的视图能够相互关联,协作,从而轻松地完成一些交互与动效。 CoordinatorLayout 如何接入 compile 'com.android.support:design:23.2.1' 根据自己的complie版本,修改到对
1.创建一个StaticFragment.java文件继承Fragment类和一个static_fragment.xml文件完成fragment的布局。在StaticFragment.java中重载onCreateView(……)方法,通过调用inflater.inflate(……)方法并传入布局资源ID生成fragment的视图资源,并绑定static_fragment.xml中的相关组件然后实现其功能。实现代码如下:
相对于Android2.x版本中常见的长按、点击操作,滑动的方式具有更友好的用户体验性。因此从4.x的版本开始,滑动操作大量出现在Android系统中。
本文实例讲述了Android开发中画廊视图Gallery的两种使用方法。分享给大家供大家参考,具体如下:
以下是代码的实现,首先在activity_main.xml新建菜单栏和ViewPager控件:
为实现各种排列组合类的视图(包括但不限于Spinner、ListView、GridView等等),Android提供了五花八门的适配器用于组装某个规格的数据,常见的适配器有:数组适配器ArrayAdapter、简单适配器SimpleAdapter、基本适配器BaseAdapter、翻页适配器PagerAdapter。适配器的种类虽多,却个个都不好用,以数组适配器为例,它与Spinner配合实现下拉框效果,其实现代码纷复繁杂,一直为人所诟病。故而在下拉框一小节之中,干脆把ArrayAdapter连同Spinner一股脑都摒弃了,取而代之的是Kotlin扩展函数selector。 到了列表视图ListView这里,与之搭档的一般是基本适配器BaseAdapter,这个BaseAdapter更不简单,基于它的列表适配器得重写好几个方法,还有那个想让初学者撞墙的ViewHolder。总之,每当要实现类似新闻列表、商品列表之类的页面,一想到这个难缠的BaseAdapter,心里便发怵。譬如下图所示的六大行星的说明列表,左侧是图标,右边为文字说明,很普通的一个页面。
Palette即调色板这个功能其实很早就发布了,Jetpack同样将这个功能也纳入其中,想要使用这个功能,需要先依赖库
在日常开发中用到弹窗是比较多的,常用于提示作用,比如错误操作提示,余额不足提示,退出登录提示等,还有用于数据展示的弹窗,上拉弹窗等等,主要为了简化在日常开发中的使用。
Snackbar 是 Android design support library 中的另一个组件。使用 Snackbar,可以在屏幕底部快速的显示一条消息,大体与 Toast 相同,但多了几分灵活性:
小伙伴们,在上文中我们重点介绍了Android视图控件的基本属性,从本文开始我们就开始将Android中比较常用的一些控件一一盘点介绍一下,首先本文我们来看第一个控件——TextView。
View类位于android.view包(android.view.View)中,View类的子类位于android.widget[译:小器物](android.widget.TextView)包中
Android为我们提供了很多UI样式,但是在实际开发中,我们往往会根据UI图去为我们选择的绝大部分的控件进行渲染,从而达到产品更加的美观。
这是一篇 2018 年的老文章,全文行云流水,由浅入深的介绍了 Factory2 的一些奇技淫巧,值得一读。
版权声明:本文为博主原创文章,转载请标明出处。 https://blog.csdn.net/lyhhj/article/details/52107851
LayoutParams 是ViewGroup的内部静态类 ,ViewGroup的子类(如RelativeLayout,LinearLayout,FrameLayout)都有其对应的 ViewGroup.LayoutParams的子类,如RelativeLayoutParams
利用ToolBar实现主题切换原理:切换主题时,将颜色值存储到Preference中,同时更新主题样式。再次打开App读取Preference对应的颜色值,设置主题样式即可。
1. 输入框一行可输入4位数字类型的验证码; 2. 4位数字之间有间隔(包括底线); 3. 输入框不允许有光标; 4. 底线根据输入位置显示高亮(蓝色); 6. 输入完成,回调结果,输入过程中,也进行回调;
Elaticsearch,简称为 ES, 是一个开源的高扩展的分布式全文搜索引擎 (这里说到的全文搜索引擎指的是目前广泛应用的主流搜索引擎)。与传统型关系数据库不同,Elaticsearch使用的是倒排索引,它的工作原理是计算机索引程序通过扫描文章中的每一个词,对每一个词建立一个索引,指明该词在文章中出现的次数和位置,当用户查询时,检索程序就根据事先建立的索引进行查找,并将查找的结果反馈给用户的检索方式。这个过程类似于通过字典中的检索字表查字的过程。
菜单是屏幕中比较独立的一个元素,它和普通的控件略有不同,很多 GUI 系统都对菜单有单独的接口和运作方式。在 Android 中具有单独接口,用于在活动中使用菜单。
本文实例讲述了Android开发实现标题随scrollview滑动变色的方法。分享给大家供大家参考,具体如下:
之前也是在网上看到这种效果,不过是滚动listview来改变标题栏的颜色,感觉那个应用的比较少,比如我要滚动scrollview来实现呢,那么问题就来了,废话少说,看一下要实现的效果先(这是在项目应用的效果)。
PreferenceFragment位于android.preference包下,现在推荐使用v7包下的,这里还是使用这个来说明,原理是一样的。
示例源码下载 : http://download.csdn.net/detail/han1202012/9115227
本文实例为大家分享了Android九宫格图片展示的具体代码,供大家参考,具体内容如下
本文实例为大家分享了android标题栏随ScrollView滚动变色的具体代码,供大家参考,具体内容如下
ImageSwitcher组件的主要功能是完毕图片的切换显示,比如用户在进行图片浏览的时候。能够通过button点击一张张的切换显示的图片,并且使用ImageSwitcher组件在每次切换的时候也能够为其添加一些动画的效果,此类定义例如以下:
Palette可以提取的颜色如下: ● Vibrant (有活力的) ● Vibrant dark(有活力的 暗色) ● Vibrant light(有活力的 亮色) ● Muted (柔和的) ● Muted dark(柔和的 暗色) ● Muted light(柔和的 亮色)
Anko (https://github.com/Kotlin/anko) 是一个用 Kotlin 写的Android DSL (Domain-Specific Language)。长久以来,Android视图都是用 XML 来完成布局的。这些 XML可重用性比较差。同时在运行的时候,XML 要转换成 Java 表述,这在一定程度上占用了 CPU 和耗费了电量。
Palette 说Palette之前先说下前面提到的Pager。ViewPager是什么大家应该都是知道的了,一般ViewPager、xxxTabStrip、Fragment三个好基友是一起出现的。这里的xxxTabStrip是使用Github上的PagerSlidingTabStrip。当我们的Pager切换时伴随着Fragment的变化,而Fragment里的内容一般是不同的,所以每个Fragment里的一般视觉效果也是不同的,所以我们可以用Palette来去提取Fragment中的主色调,那Fra
我在之前的博客http://blog.csdn.net/lxj1137800599/article/details/51752970 介绍过PinnedSectionListView。但是对于PinnedSectionListView.java 这个文件没有细讲。由于研究源码也是程序猿的一种能力,所以我专门研究了这个java文件。 现在我已经重新输入了adapter中的数据。界面如下:
项目源代码:https://github.com/libin7278/MpChart
在Android程序中,Toast可谓用处多多,Toast本身作为消息提示,不占用焦点,用户可以处理其他程序的同时接收Toast中显示的信息。但是我们平常看见的Toast都是黑框白字的,那么我们可以改变原有的Toast,制作我们自定义的Toast吗。这个当然可以。Toast类本身提供了定义Toast布局、显示字体等一些方法。下面以一个例子说明: 新建一个Android工程: activity_main.xml:
Android5.0推出的MaterialDesign库包含了处理头部工具栏的多个控件,不但允许自定义顶部导航栏,而且导航栏高度是可以伸缩的。如此一来,一方面导航栏能够放得下更多控件,另一方面在用户想看具体内容时也能腾出更多的屏幕空间。 这么说可能比较抽象,那就先来看看两张导航栏的效果图,第一张是导航栏完全展开时的界面,此时页面头部的导航栏占据了较大部分的高度;
Gallery是一个早期的画廊控件,左右滑动手势可展示内嵌的图片列表,类似于一个平面的万花筒。虽然Android现在将Gallery标记为Deprecation(表示已废弃),建议开发者采用HorizontalScrollView或者ViewPager来代替,但是Gallery用做自定义相册来轮播图片其实是个挺好的选择,所以下面我们还是简单介绍它的用法,并结合其它控件加深对图像开发的理解。 Gallery的常用属性说明如下: spacing : 指定图片之间的间隔大小。 unselectedAlpha : 指定未选定图片的透明度。取值为0到1,0表示完全透明,1表示完全不透明。 Gallery的常用方法说明如下: setSpacing : 设置图片之间的间隔大小。 setUnselectedAlpha : 设置未选定图片的透明度。 setAdapter : 设置图像视图的适配器。 getSelectedItemId : 获取当前选中的图像id。0表示第一个图像。 setSelection : 设置当前选中第几个图像。 setOnItemClickListener : 设置单项的点击监听器。 现在我们结合Gallery与ImageView来观看画廊的相册效果,首先放置一个FrameLayout布局,里面放入一个Gallery控件与一个ImageView控件,其中ImageView控件要充满整个屏幕,Gallery控件可放在屏幕上方或下方;然后监听Gallery控件的单项点击事件,点击指定图片项时,便给ImageView控件填充该图片,也就是点小图看大图。 下面是Gallery与ImageView结合使用的效果截图:
Android中的窗口系统是应用程序用户界面的核心组件之一,它负责管理可视化区域、处理用户输入事件以及与系统UI交互。本文将深入介绍与Android窗口系统相关的重要概念,包括不同类型的窗口、创建窗口、窗口的特性和标志、生命周期以及如何创建自定义窗口。让我们开始吧!
JSPatch是GitHub上一个开源的框架,其可以通过Objective-C的run-time机制动态的使用JavaScript调用与替换项目中的Objective-C属性与方法。其框架小巧,代码简洁,并且通过系统的JavaScriptCore框架与Objective-C进行交互,这使其在安全性和审核风险上都有很强的优势。Git源码地址:https://github.com/bang590/JSPatch。
本文实例讲述了Android开发实现Launcher3应用列表修改透明背景的方法。分享给大家供大家参考,具体如下:
Fusionapp小文档.jpg 最近又重构了下博客的套壳app,还是用的FusionApp制作的,为了避免忘记特此写一些基础文档。 基础控件ID
在前文中的效果中(Android如何创建自定义ActionBar),点击屏幕下方的 TextView 以此来实现 5 种 fragment 界面的切换。
谷歌如何限制华为?停止商业合作,(1)禁用GMS套件 (2)不能获取更新与适配优化
Fragment:是Android3.0开始新增的概念,意为碎片。Fragment是依赖于Activity的,不能独立存在的。
本文实例讲述了Android使用xml文件资源定义菜单实现方法。分享给大家供大家参考,具体如下:
在项目中免不了会遇到,实名认证上传身份证、绑定银行卡等功能。在实际操作中呢,会涉及到上传图片,在页面布局时,可能图片不是一张,考虑到布局的美观等因素,显示图片的位置变得很小,如果想查看上传的图片是否清晰,内容是否完整,可能就需要放大才能实现,下面就和大家分享一下我封装的一类,完美的实现了图片的缩放功能。
线性布局LinearLayout是最常用的布局,顾名思义,它下面的子视图像是用一根线串了起来,所以其内部视图的排列是有顺序的,要么从上到下垂直排列,要么从左到右水平排列。排列顺序只能指定一维方向的视图次序,可是手机屏幕是个二维的平面,这意味着还剩另一维方向需要指定视图的对齐方式。故而线性布局主要有以下两种属性设置方法: 1. setOrientation: 设置内部视图的排列方向。LinearLayout.HORIZONTAL表示水平布局,LinearLayout.VERTICAL表示垂直布局。 2. setGravity: 设置内部视图的对齐方式。Gravity.LEFT表示靠左对齐、Gravity.RIGHT表示靠右对齐、Gravity.TOP表示靠上对齐、Gravity.BOTTOM表示靠下对齐、Gravity.CENTER表示居中对齐。 空白距离margin和间隔距离padding是另外两个常见的视图概念,margin指的当前视图与周围视图的距离,而padding指的是当前视图与内部视图的距离。这么说可能有些抽象,接下来还是做个实验,看看它们的显示效果到底有什么不同。下面是个实验用的布局文件内容,通过背景色观察每个视图的区域范围:
领取专属 10元无门槛券
手把手带您无忧上云