使用场景 在重写ListView的BaseAdapter时,我们常常在getView()方法中复用convertView,以提高性能。...convertView在Item为单一的同种类型布局时,能够回收并重用,但是多个Item布局类型不同时,convertView的回收和重用会出现问题。...比如有些行为纯文本,有些行则是图文混排,这里纯文本行为一类布局,图文混排的行为第二类布局。单一类型的ListView很简单,下面着重介绍一下ListView包含多种类型视图布局的情形。...(int) – 根据position返回相应的Item 3)根据view item的类型,在getView中创建正确的convertView 3.案例 import java.util.ArrayList...android.util.Log; import android.view.LayoutInflater; import android.view.View; import android.view.ViewGroup
在Android开发中,需要密码的隐藏和显示,下面就和大家分享一下使用方法: xml代码: <LinearLayout android:layout_width="match_parent..." android:layout_height="50dp" android:background="@color/white" android:orientation...="15dp" android:textSize="16dp" android:text="显示" / </LinearLayout 隐藏图标代码...onCheckedChanged(CompoundButton buttonView, boolean isChecked) { if(isChecked){ //如果选中,显示密码...以上就是本文的全部内容,希望对大家的学习有所帮助。
而很多关键的逻辑代码,都是在 InputMethodManagerService 中实现的。 特别说明:本文的所有分析的源码,都是基于 Android 26 的源码。...2.2 显示软键盘 在 InputMethodManager 中,有两个方法 showSoftInput() 和 showSoftInputFromInputMethod() ,而实际上,只有 showSoftInput...而这不是绝对的,如果不是一个 EditText ,就必须要求这个 View 有两个属性,分别是:android:focusable="true" 和android:focusableInTouchMode...2.4 切换键盘的弹出和隐藏 在 InputMethodManager 中,还提供了一个 toggleSoftInput() 方法,如同它的名字一样,它可以让软键盘在显示和隐藏之间切换。 ?...在这个方法中,是根据 isInputViewShow() 方法来判定当前软键盘是否处于显示弹出的状态。
View Elevation(视图高度) View的z值由两部分组成,elevation和translationZ(它们都是Android L新引入的属性)。...elevation值 我们通过设置elevation的值也会达到卡片阴影效果 ?...: card_view:cardElevation 阴影的大小 card_view:cardMaxElevation 阴影最大高度 card_view:cardBackgroundColor 卡片的背景色...card_view:cardPreventConrerOverlap 在V20和之前的版本中添加内边距,这个属性为了防止内容和边角的重叠 我们看一下今天要实现的效果图: ?...有兴趣的朋友可以尝试使用ViewPager+CardView实现卡片画廊的效果 其实CardView的使用相当于加了一个布局使用,其CardView里面内容的实现,还是在布局中设计 银行卡布局: <
说到Android Toast,几乎都很熟悉吧,下面讲讲怎么实现下面几种场景: 1、连续点击一个按钮,每次都产生一个新的Toast并且调用show方法 问题:触发了toast以后,toast内容会一直排着队的显示出来...下面看下上面1-3种方式的代码写法: 1、连续点击一个按钮,每次都产生一个新的Toast并且调用show方法,这个没什么好说的,都会写 Toast.makeText(context, "要显示的提示",...if (mShowingToast == null) { mShowingToast = Toast.makeText(mActivity, "要显示的提示", Toast.LENGTH_LONG...上面这种方式会发现Toast显示不出来,改下写法也许读者能猜到为什么 private Toast mShowingToast; // 主线程的Handler对象 private Handler mHandler...可能是同步异步的问题,有可能show操作被后续执行的cancel给覆盖了,所以不生效,看了下源码也没具体看出来 /** * Show the view for the specified duration
在5.0中新引入的卡片视图控件,顾名思义它拥有一个卡片式的圆角边框,边框外缘有一圈阴影,边框内缘有一圈空白。...该控件的实现原理并不复杂,事实上早期便有许多人自己写了类似卡片效果的控件,只不过后来Android顺应民意推出了原生的卡片视图。...cardCornerRadius : 指定卡片的圆角半径。 cardElevation : 指定卡片内容距离阴影边缘的间隔。...contentPadding : 指定卡片边缘阴影的高程,即阴影的宽度。 CardView的常用方法说明如下: setCardBackgroundColor : 设置卡片的背景颜色。...setRadius : 设置卡片的圆角半径。 setContentPadding : 设置卡片内容距离阴影边缘的间隔。
这里的材料在Android 世界中就是一个个的控件,我们可以把控件想象成现实世界中的物体,规定每个物体的厚度都是固定不变的,永远是 1dp,x,y就对应了控件的长和宽。...为了配合 material desig, android 提供了新的主题、新的配合主题的组件、和自定义阴影和新动画 api 来看看 Android 为了配合 Material Design 都增加了哪些新的控件...Z 属性会扩大 View 的显示区域(主要是控件本身大小+阴影),如果它的大小大于或者等于父视图的大小,那么它的阴影效果就无法显示了,view 并不会因为 z 的属性而缩小自身去显示阴影。...关键阴影 环境阴影 关键阴影和环境阴影 黑暗下 材质环境中的阴影由关键灯光和环境灯光投射共同产生。在Android和iOS开发中,当光源在沿z轴的各个位置处被“材质”表面阻挡时,会出现阴影。...在Web上,仅通过操纵y轴即可描绘阴影。以下示例显示了海拔为6dp的卡片。 阴影的条件 阴影由轮廓和海拔共同决定。 海拔决定了阴影的大小,轮廓决定了阴影的形状。
Android ListView中headerview的动态显示和隐藏的实现方法 1.动态设置headerview的方法 动态设置headerview有两个思路。...方法一 将header的布局写在list item的布局文件中,在adapter中通过判断position的值是否为0动态控制其显示或隐藏。 代码示例: item.xml布局文件 <?...然后在 MyListViewAdapter.Java的getView方法中处理header的显示问题,如果position为0,则显示header,隐藏普通的item。...为了动态显示和隐藏header,按照惯例,误以为直接通过setVisibility中的View.GONE就可以实现。...</LinearLayout </LinearLayout 加载header和headerParent的布局: MainActivity.java中关键代码展示 private View mHeader
Android设备附近时,绕过锁屏界面直接解锁 RecylerView出现替代ListView RecylerView具有高度的解耦,异常的灵活性和更高的效率,可支持设置不同的布局管理器LayoutManager...,条目间隔线ItemDecoration,ItemAnimator实现不同的效果 CardView卡片布局出现 可设置卡片的圆角半径,阴影半径 三种通知 普通通知 折叠通知 在普通通知的基础上加入了自定义布局通过设置...builder的bigContentView属性 由于布局是在App进程中,而通知明显不是App进程因此需要使用RemoteView封装自定义视图 悬浮通知 当该通知出现时会在屏幕上悬浮一段时间后自动消失...悬浮的布局和进入通知后的布局不一样。...相比ActonBar,ToolBar更自由更有设置的空间,随处放置 使用方法和ActionBar一样 需要在style中设置将ActionBar去除,并且在代码中显示调用setSupportActionBar
谷歌在推出Android5.0的同时推出了一些新控件,Android5.0中最常用的新控件有下面5种。 ? 1....CardView(卡片视图) CardView顾名思义是卡片视图,它继承FrameLayout。它是一个带圆角的背景和阴影FrameLayout。...CardView被包装为一种布局,并且经常在ListView和RecyclerView的Item布局中,作为容器使用。...Toolbar可能包含以下可选元素的组合: – 导航按钮 – 品牌的Logo图像 – 标题和子标题 – 一个或多个自定义视图 this.toolbar = (Toolbar) findViewById...RippleDrawable可显示一个涟漪效应响应状态变化 。
RecyclerView、CardView为用于显示复杂视图的新增Widget。接下来看看如何使用吧。...所以它的性能比以前应该好了不少。 LayoutManager:这个LayoutManager类决定视图被放在画面中哪个位置,但这只是它的众多职责之一。它可以管理滚动和循环利用。...CardView CardView介绍 CardView是Android5.0之后为新增的控件,CardView是一个卡片布局,布局可以包含圆角和阴影,本质上CardView是一个FrameLayout...CardView属性 CardView中常用的属性有: cardElevation:设置阴影的大小 cardBackgroundColor:卡片布局的背景颜色 cardCornerRadius:卡片布局的圆角的大小...conentPadding:卡片布局和内容之间的距离 效果图和实例代码 效果图如下: ?
大色块的使用 Material Desigin中运用了大量高度饱和、适中亮度的大色块来突出界面的主次,并一扫Android4.X系列Holo主题的沉重感,让界面更加富有时尚感和视觉冲击力 此外还有很多新的设计风格...让视图产生阴影 使用RecyclerView和CardView 定制动画 intel x86模拟器 下载和安装intel x86模拟器加速器 之前的ARM模拟器,是以软件的形式模拟,所以很慢~x86可以选这使用宿主机器的...RecyclerView 详见本人另一篇博客 RecyclerView完全解读 ---- 立体卡片CardView 详情请查看鄙人CradView的使用 ---- 视图和阴影 Material Design...影响视图阴影的因素 以往的Android View通常有2个属性——X和Y,而在Android5.X中,Google为其增加了一个新的属性 —Z,对应垂直方向上的高度变化。...Z = elevation + translationZ 通过布局文件和Java代码设置视图的阴影 通过布局文件设置 在xml中设置View的视图高度 android:elevation="Xxdp"
前言 伟大的Google为Android推出了一系列的兼容包,最新的就是Design Support Library了,这里我们结合v7和v4中的几个控件,来主要学习Design Support Library...和RecyclerView结合实现下拉刷新,以及RecyclerView的数据适配器RecyclerView.Adapter的用法,还有RecyclerView中item的点击事件的实现方法; 卡片式CardView...enterAlwaysCollapsed: 当你的视图已经设置minHeight属性又使用此标志时,你的视图只能以最小高度进入,只有当滚动视图到达顶部时才扩大到完整高度。...-- Tabs选项卡,和ViewPager搭配使用可以增大界面的内容展示量,实现各种个性化分类内容展示而不互相干扰!...app:cardPreventCornerOverlap : 在v20和之前的版本中添加内边距, 这个属性是为了防止卡片内容和边角的重叠
app:cardMaxElevation:设置阴影最大高度。 app:cardBackgroundColor:设置卡片的背景色。 app:cardCornerRadius:设置卡片的圆角大小。...三、CardView示例2 CardView被包装为一种布局,并且经常在ListView和RecyclerView的Item布局中,作为一种容器使用。...CardView应该被使用在显示层次性的内容时;在显示列表或网格时更应该被选择,因为这些边缘可以使得用户更容易去区分这些内容。...接下来简单定义一个CardView的item项,并在Java代码中修改CardView的属性,关于结合ListView和RecyclerView的部分比较简单,这里不做过多介绍。...(Color.RED); // 设置阴影部分大小 mCardView.setCardElevation(10); // 设置卡片距离阴影大小
最近为公司做的一个Demo里面用到了ScrollView嵌套了GridView和ListView,然而在嵌套的时候我发现GridView和ListView都是不能完全显示,显示的基本上都是单行的数据,最后查找资料和翻阅文档看到原因是...ListView和GridView的绘制过程中在ScrollView中无法准确的测量自身的高度,而且listVIew和GridView抢占了焦点,使得ListView和GrideView具有自身的显示的效果...,这样就测量出显示一行条目即可的距离,其他的条目根据自身的滑动显示。...="#ffffff" </ListView </LinearLayout </ScrollView 显示的效果是这样的其中的Listview和GridView是可以滑动的就是显示不全...(0, 0); //此处方法并不好 //5其中5是我们在Xml中的android:numColumns="5" //FontDisplayUtil.dip2px(
↳ android.widget.FrameLayout ↳ android.support.v7.widget.CardView ---- 从官方的文档中我们可以看出: CardView:有圆角的背景和阴影的...CardView 扩展 FrameLayout 类别并让您能够显示卡片内的信息,这些信息在整个平台中拥有一致的呈现方式。CardView 小组件可拥有阴影和圆角。...CardView 在 Android 5.0(API 级别 21)及更高版本中使用真实高度与动态阴影,而在早期的 Android 版本中则返回编程阴影实现。...常用属性: card_view:cardElevation 阴影的大小 card_view:cardMaxElevation 阴影最大高度 card_view:cardBackgroundColor 卡片的背景色...card_view:cardPreventConrerOverlap 在V20和之前的版本中添加内边距,这个属性为了防止内容和边角的重叠 一般来说和RecyclerView搭配起来使用效果更加~ --
第十三章 Android实例提高 该章主要介绍了拼图游戏和2048的小项目实例,主要是代码,所以略过不总结。...(5)列表和卡片 RecyclerView和CardView是support-v7包中新添加的组件,使用它们需要引用依赖com.android.support:recyclerview-v7:x.y.z...:裁剪目标视图的边界; changeTransform:改变目标视图的缩放比例和旋转角度; changeImageTransform:改变目标图片的大小和缩放比例。...Activity A和B的布局文件中为共享元素组件添加android:transitionName="xxx"属性。...在Android 5.X中,可以使用动画来作为视图改变的效果,有两种方式来实现该动画:StateListAnimator和animated-selector。
卡片视图 1.card view.gif 随着移动端设备在互联网中的地位越发重要,产品的打磨中,如何使得移动端和桌面端UI之间的界限更为模糊,用户体验更加无痕,则是设计师迫切需要解决的问题。...卡片视图则很好的解决了这个问题、 作为交互信息的载体,卡片以浓缩的形式提供了快速并且相关的信息,还会用另一种委婉的方式去要求一次交互。...设计精美的卡片视图能够快速抓住用户眼球,完全适配响应式,还有极高的可读性。...半扁平化设计 6.flat design.png 扁平化风格已经占领了设计风潮的半壁江山,在卡片视图的影响下,为了更加突出内容和观感,扁平化设计变得更为立体和多维度,采用了大量的阴影和对比。...平滑的阴影能够增强界面深度和复杂性,同时也不会对原有风格造成冲突,相信在之后,扁平化风格不会止步于现在的整体的风格,还会融合更多模式不断优化创新。 7.
使用CardView可以实现卡片式布局效果,非常好看,卡片还可以包含圆角、阴影、背景。CardView是一个ViewGroup,布局时包含其它的View从而实现优雅界面效果。....widget.CardView> 常用属性: app:cardElevation 阴影的高度 app:cardMaxElevation 阴影最大高度 app:...cardBackgroundColor 卡片的背景色 app:cardCornerRadius 卡片的圆角大小 app:contentPadding 卡片内容于边距的间隔 app:contentPaddingBottom...contentPaddingStart app:contentPaddingEnd app:cardUseCompatPadding 设置内边距 app:cardPreventConrerOverlap 这个属性为了防止内容和边角的重叠...本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
1.介绍 主要介绍如何在res文件夹中的drawable中给View的布局添加上阴影效果。那么我们通过shape进行绘制的带阴影的布局有哪些优缺点和使用场景呢? 我们可以调整阴影的高度和颜色。...毕竟我们通过预览图看到的层次比较分明。 放心,绘制完毕的阴影显示效果并不会出现这种问题。我们在真机和虚拟机上实现效果都比较自然。 如果不放心,可以通过调整padding的值,同时添加多个item。...2.1 距离 我们创建完毕后布局View可能会显示在阴影区域,这需要我们主动将阴影区域的高度给空出来。 那么这个高度是多少呢?是我们每个item中的padding 的值的累加。...我们在设置android:background的layout中添加padding =15dp 就可以将子布局显示在正确位置上了。...如果你不喜欢卡片布局CardView,那么也许使用layer-list 是一个很不错的选择。 其他 关于布局中的其他配置可以参考下面的内容。
领取专属 10元无门槛券
手把手带您无忧上云