` 点击监听={ onTouch=function (v,e) if e.action==0 then 缩放动画(v,1,0.95,250) else 缩放动画(v,1.2,1,250) end end..."0dp"; --layout_marginLeft="20dp"; }; }; --第一个线性布局结束 { Button;--纽扣控件 --text='这里是分界线';--要显示的文本...;--要显示的文本 textSize='15sp';--文字大小 textColor='#FF7B7B7B';--文字颜色 backgroundColor...textColor='#CA007EF8';--文字颜色 text='不明白';--显示的文字 onTouchListener=点击监听,--动画效果 textSize='17sp...textColor='#FFFFFFFF';--文字颜色 text='明白了';--显示的文字 onTouchListener=点击监听,--动画效果 textSize='17sp
这里的材料在Android 世界中就是一个个的控件,我们可以把控件想象成现实世界中的物体,规定每个物体的厚度都是固定不变的,永远是 1dp,x,y就对应了控件的长和宽。...,因为 TextView 的默认海拔是0 ,就被 Cardview 给挡住了,因为 CardView 的默认海拔是 2dp,如果你将 TextView 的海拔设置为 3dp 这个时候 TextView...深度(Depth) 深度(depth)的意思就是材质环境中所有的元素都是沿着 Z 轴水平、垂直和以不同的深度移动,在 Z 轴的正方向并且在可是范围内的点的高度。其实就海拔。...轮廓 默认情况下,所有的view都是矩形的,虽然可以给view设置背景圆形的图片,即可以在界面显示出圆形的内容,但是view的大小实际上依然是矩形,并且设置的图片实际上也是矩形的,只是圆形以外的区域是透明色...但是如果stateListAnimator设置为 null 后,点击的海拔高度动画就没有了,为此你可以在 Button 外套一层 LinearLayout给 LinearLayout 设置 elevation
elevation是静态的成员,translationZ可以在代码中用来实现动画效果。...在XML布局文件中使用CardView的时候还需要引入其命名空间xmlns:cardview=http://schemas.android.com/apk/res-auto。...(7)MD动画效果 Ripple效果 水波纹效果有两种:波纹有边界和波纹无边界。前者是指波纹被限制在控件的边界,后者指波纹不会限制在控件边界中,会呈圆形发放出去。...在Android 5.X中,可以使用动画来作为视图改变的效果,有两种方式来实现该动画:StateListAnimator和animated-selector。...:表明在pin、password等安全锁和没有锁屏的情况下才会显示; 设置等级的方式是builder.setVisibility(Notification.VISIBILITY_PRIVATE); 其他学习资料
中拿到布局中TextView的LayoutParams的时候,就有可能返回空。...在TextInputLayout可以轻松地通过getEditText方法找到它所包裹的EditText。、 在显示错误的时候,需要先设置错误的提示,每次显示的时候都要设置。...(图片的直角会顶到CardView的边上),如果要做成5.x一样的效果:通过加载图片的时候自己去处理成圆角(与CardView的圆角大小一样),因此4.x上面不需要设置app:contentPadding...window上面的,而在Activity onCreate方法中调用时Window还未初始化完毕,因此需要在onWindowFocusChanged中执行动画。...版本判断会比较麻烦,谷歌很贴心 设计了一个兼容类:ActivityOptionsCompat(v4包中),但是此类在低版本上面并没有转场动画效果,只是解决了我们手动去判断版本的问题而已。
---- 基础使用 要使用RecyclerView在Android Studio 2.x(以下简称AS), 要这样: compile 'com.android.support:cardview-v7...:26.1.0' implementation 'com.android.support:recyclerview-v7:26.1.0' 之后在布局文件中写入如下代码就引入了RecyclerView了...布局类 效果 LinearLayoutManager 以垂直或水平滚动列表方式显示项目 GridLayoutManager 在网格中显示项目 StaggeredGridLayoutManager 在分散对齐网格中显示项目...低版本兼容 ---- 更丰富的条目 大家应该都知道TextView可以设置图标吧, 这里来看下效果图, 顺带感受下android界面设计语言的变化. 以A为例.
因此,我们这里将布局文件XML源码贴出来供学习,放心,所有知识点都已经注释在源码中。...本例中,TabLayout在界面滚动时,随着Toolbar的逐渐隐藏,将占据Toolbar的位置, 达到节省屏幕空间,界面动画效果的目的。...app:pressedTranslationZ :FAB动画效果,在它被按下的时候阴影就会增大。...-- SwipeRefreshLayout是伟大的Google在v4包中给出的下拉刷新组件。...) itemView.findViewById(R.id.id_textview); } } 结语 在源码中学习Android,是有种身临其境的感觉的。
继承FrameLayout 一、常用属性 1、cardBackgroundColor 设置背景色 CardView是View的子类,View一般使用Background设置背景色,为什么还要单独提取出一个属性让我们来设置背景色呢...–> Dependencies –> app –> + –> 1 Library Dependency –> cardview –> 点击search –> 会显示最新版本 具体代码: 1、一个最简单的示例...③在cardview控件内新增: app:contentPadding="10dp" 效果图:整体卡片的宽高都变大了,因为加了一个10dp的padding ---- ③在cardview控件内新增...,在5.0以上的布局已经写好的情况下,期望5.0以下与5.0以上保持一致 故cardUseCompatPadding设置为alse app:cardUseCompatPadding="true" ② 将...attr/selectableItemBackground" 如果cardview在最外层,可以为其设置点击效果 版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。
RecyclerView、CardView为用于显示复杂视图的新增Widget。接下来看看如何使用吧。...是复用的,在RecyclerView中,是把ViewHolder作为缓存的单位了,然后convertView作为ViewHolder的成员变量保持在ViewHolder中,也就是说,假设手机屏幕可显示10...注意的是:RecyclerView不提供ListView中的setOnItemClickListener方法,我们可以在ViewHolder中添加类似的点击事件。...ItemAnimator:ItemAnimator简单来说是会根据适配器上收到的相关通知去动画的显示组件的修改,添加和删除等。它会自动添加和移除item的动画。自带的默认效果也不错,已经非常好了。...CardView属性 CardView中常用的属性有: cardElevation:设置阴影的大小 cardBackgroundColor:卡片布局的背景颜色 cardCornerRadius:卡片布局的圆角的大小
CoordinatorLayout帮助我们协调它所包含的子view之间的交互,这一点在我们后面讲如何根据滚动的变化让按钮动画隐藏与显示的时候有用。...Kitkat 中的 FAB: ? Issues 1: Android 4.4 和 5.0 中边缘显示 很容易看出,Lollipop 中存在边缘显示的问题。...再看一遍上面的截图,会发现 Kitkat 中有阴影显示,而 Lollipop 中并没有。...在 Lollipop 上,可以直接在 FAB 中设置: ... ......fab:fab_type="mini" /> FAB的显示和隐藏 // 带动画的显示和隐藏 fab.show(); fab.hide(); // 不带动画的 fab.show(false); fab.hide
都掌握的怎么样啊 安卓中一些常用控件学习得差不多了,今天再来学习一个新的控件CardView,在实际开发中也有非常高的地位。...这里有一点需要值得注意,之前学习到的控件属性都是android:开头的,而这里所列的属性是app:开头的,如果继续使用默认的会提示找不见对应属性,需要我们定义一个app命名空间,在布局文件中需要加入xmlns...三、CardView示例2 CardView被包装为一种布局,并且经常在ListView和RecyclerView的Item布局中,作为一种容器使用。...CardView应该被使用在显示层次性的内容时;在显示列表或网格时更应该被选择,因为这些边缘可以使得用户更容易去区分这些内容。...接下来简单定义一个CardView的item项,并在Java代码中修改CardView的属性,关于结合ListView和RecyclerView的部分比较简单,这里不做过多介绍。
item布局 整体分为三部分:左边、中间、右边,即以虚线为分割。 在LinearLayout中,默认是底部对齐的,只需要设置LinearLayout的android:baselineAligned属性为false 就行了,这样就是以顶部对齐...但是因为TextView默认是有一点padding的,所以显示 ¥ 的textview又marginTop了2dp,这样看起来顶部会在同一水平线。...最外层用的是CardView,效果图中看起来还是蛮不错的,但是在5.0以下,CardView显示内部会有留白,那两个半圆就会显示在白色的背景之内,极其影响美观,所以就可以根据5.0为分水岭做一个判断,具体可查看解决...CardView在5.0以下留白的问题。
ImageSwitcher实质是个视图动画师ViewAnimator,用于处理前后图像的变换动画;与之对应的是,TextSwitcher用于处理前后文本的变换动画;另外ViewFlipper也是从ViewAnimator...setOutAnimation : 设置前一个图像的退出动画。 按照ImageSwitcher的上述方法,我们便能实现前后两个图像的切换动画(如淡入淡出动画)。...首先定义一个GestureDetector对象;然后调用ImageSwitcher的setOnTouchListener方法设置触摸监听器OnTouchListener,在该监听器的onTouch方法中让...该方法在onGenerated中调用,返回值是Palette.Swatch样品对象,调用该样品对象的getRgb方法即可获得样品的色彩值。...在5.0中新引入的卡片视图控件,顾名思义它拥有一个卡片式的圆角边框,边框外缘有一圈阴影,边框内缘有一圈空白。
rvTest.setLayoutManager(new LinearLayoutManager(this)); RecyclerView提供这些内置布局管理器: LinearLayoutManager以垂直或水平滚动列表方式显示项目...GridLayoutManager在网格中显示项目 StaggeredGridLayoutManager在分散对齐网格中显示项目 ---- CardView使用 我们将每一个CardView...分成两个部分, 添加接口, 和设置监听....但是由于要使用的水波纹特效在5.0才引入, 我们需要分开处理. 先是5.0之后的. 5.0后只要设置波纹颜色就好. <?xml version="1.0" encoding="utf-8"?...建包 ---- 为CardView添加更多内容 CardView不可能说只能显示文字, 那如何添加图标或者图片呢?我只能说异常简单, 看代码: <?
5.ViewPager结合CardView 1.clipChildren属性 clipChildren属性表示是否限制子控件在该容器所在的范围内,clipChildren属性配合layout_gravity...属性,可以用来设置多余部分的显示位置,我这里举一个简单的例子,比如喜马拉雅FM这个应用的首页: 大家注意看这个应用底部导航栏中中间一个是要比另外四个高的,这种效果很多人就会想到使用一个RelativeLayout...OK,那我们来看看显示效果: OK,就是这么简单,这样,我们现在已经可以在一个页面上来显示多个ViewPager中的item,接下来我们先来看看PageTransformer的简单使用。...它表示是否允许ViewGroup在ViewGroup的padding中进行绘制,默认情况下该属性的值为true,即不允许在ViewGroup的padding中进行绘制。那如果我设置了false呢?...: OK,那这个clipToPadding属性是我们在一个页面中显示多个ViewPager item的第二种方式。
CardView 扩展 FrameLayout 类别并让您能够显示卡片内的信息,这些信息在整个平台中拥有一致的呈现方式。CardView 小组件可拥有阴影和圆角。...CardView 在 Android 5.0(API 级别 21)及更高版本中使用真实高度与动态阴影,而在早期的 Android 版本中则返回编程阴影实现。...如需了解详细信息,请参阅保持兼容性 使用以下属性定制 CardView 的外观: 如果要在布局中设置圆角半径,请使用 card_view:cardCornerRadius 属性。...如果要在代码中设置圆角半径,请使用 CardView.setRadius 方法。 如果要设置卡片的背景颜色,请使用 card_view:cardBackgroundColor 属性。...,V21+的版本和之前的版本仍旧具有一样的计算方式 card_view:cardPreventConrerOverlap 在V20和之前的版本中添加内边距,这个属性为了防止内容和边角的重叠 一般来说和RecyclerView
指导文档 下载后放到相应的目录即可~ 体验以x86模式运行Android模拟器 ? 都是默认选项,选择使用宿主机器的GPU~ ?...在Android5.x中,View的Z值由 elevation + translationZ(这两个都是5.x引入的新特性)组成。...其中 elevation是静态的成员,translationZ可以在代码中使用来实现动画的效果。...Z = elevation + translationZ 通过布局文件和Java代码设置视图的阴影 通过布局文件设置 在xml中设置View的视图高度 android:elevation="Xxdp"...Java代码设置 view.setTranslationZ(XXX) 通常也会使用属性动画来为视图高度改变的时候增加一个动画效果 if(flag){ view.animate().translationZ
然后我们在CardView布局中放置了一个TextView,这个TextView就会显示在一张卡片中了。...然后在app/build.gradle文件中声明RecyclerView、CardView这几个控件对应的库的依赖: compile 'com.android.support:recyclerview-v7...> 这里使用了CardView来作为子项的最外层布局,从而使得RecyclerView中的每个元素都是在卡片当中的。...CardView由于是一个FrameLayout,因此它没有什么方便的定位方式,这里只好在CardView中再嵌套一个LinearLayout,然后在LinearLayout中放置具体的内容。...内容的话就是 定义了ImageView用于显示水果的图片, 定义了TextView用于显示水果的名称,并让TextView在水平方向上居中显示。
要取消或移除 CardView 的阴影,你可以调整 CardView 的 cardElevation 属性,并将其设置为 0dp。...此外,你还可以调整 cardUseCompatPadding 属性以确保没有额外的内边距用于显示阴影。...下面是如何设置 CardView 以取消阴影的示例: cardview.widget.CardView xmlns:android="http://schemas.android.com...-- CardView的内容 --> TextView android:layout_width="match_parent" android:layout_height...:padding="16dp" /> cardview.widget.CardView> 在这个例子中,CardView 的 cardElevation 设置为 0dp,以确保没有阴影
文章中只是简单的使用而已,这里先说明,然后Sync。 然后在AndroidManifest.xml中添加网络访问权限 在onCreate中增加如下代码: //设置亮色状态栏模式 systemUiVisibility在Android11中弃用了,可以尝试一下。...以上生效,不过这只是做测试,所以我就不做判断了,因为我的手机是10.0,但是在实际的开发中还是要做的,这就涉及到Android版本适配了,比较多复杂,网络上的文章比较多,自行搜索。...systemUiVisibility在Android11中弃用了,可以尝试一下。...之前我是通过异步请求网络的,那么它的回调自然也不会是在主线程中,但是我又要在回调里面控制页面的UI。那么就需要切换到主线程或者UI线程中进行。
在上面的示例中,按钮发生了变化、文本和图标的颜色发生了变化。FAB 现在变成了蓝绿色,并且文本字段看起来完全不同。不用担心。...要恢复为旧的文本字段可以在布局中添加样式 <com.google.android.material.textfield.TextInputLayout ... + style="@style... 或者你也可以在主题中给所有的文本设置默认样式 设置文本样式。要知道哪些窗口小部件使用哪种类型板式,需要检查源代码中的默认窗口小部件样式。...如果你想要改变字体的话,建议也把剩余的 12 修改了,以保持APP中字体的一致性。
领取专属 10元无门槛券
手把手带您无忧上云