前言 Android使用XML的时候,实现圆角和边框都是使用背景实现的。 如果需要剪裁成圆角,则可以使用CardView实现。...要取消或移除 CardView 的阴影,你可以调整 CardView 的 cardElevation 属性,并将其设置为 0dp。...下面是如何设置 CardView 以取消阴影的示例: cardview.widget.CardView xmlns:android="http://schemas.android.com...:padding="16dp" /> cardview.widget.CardView> 在这个例子中,CardView 的 cardElevation 设置为 0dp,以确保没有阴影...,所以这里设置为白色的半透明,涟漪覆盖色就设置的纯黑色,这样才会出现较好的效果。
在使用 CardView 之前,多少应该对它有一定的了解,下面将对其实现做简单的介绍。 自定义属性 CardView 继承自 FrameLayout,并在其基础上添加了圆角和阴影等效果。...CardView_cardPreventCornerOverlap 是否使用PreventCornerOverlap 在V20和之前的版本中添加内边距,这个属性为了防止内容和边角的重叠 CardView_contentPadding...CardViewImpl 接口 跟着源码往下看,接下来就是做多 API 版本适配的代码,这段代码使得不同版本的 Android 能达到相同或者相似的效果,尽可能的做到了兼容。...final 修饰的对象,若是基本类型+String,则其值不能修改;若是复杂类型,则其引用不能修改。 基本类型+String的值、复杂类型的引用,存储在栈中;复杂类型的实体类容存储在堆中。...实际使用中我们发现,即便一个APP内部的多个CardView也能有不同的表现,更不用说整个系统上的所有APP了,那这又是怎么做到的呢?
Palette在android-support-v7-palette.jar中定义,同时需要最新的android-support-v4.jar支持。...该方法在onGenerated中调用,返回值是Palette.Swatch样品对象,调用该样品对象的getRgb方法即可获得样品的色彩值。...在5.0中新引入的卡片视图控件,顾名思义它拥有一个卡片式的圆角边框,边框外缘有一圈阴影,边框内缘有一圈空白。...使用CardView之前,要把“sdk\extras\android\support\v7\cardview”导入为一个库工程,并引用到自己的工程中。...CardView源码中引用了android.support.v7.cardview.R.styleable,而开发者自己的工程包名不是android.support.v7.cardview,所以就会找不到这个
↳ android.widget.FrameLayout ↳ android.support.v7.widget.CardView ---- 从官方的文档中我们可以看出: CardView:有圆角的背景和阴影的...CardView 扩展 FrameLayout 类别并让您能够显示卡片内的信息,这些信息在整个平台中拥有一致的呈现方式。CardView 小组件可拥有阴影和圆角。...CardView 在 Android 5.0(API 级别 21)及更高版本中使用真实高度与动态阴影,而在早期的 Android 版本中则返回编程阴影实现。...card_view:cardPreventConrerOverlap 在V20和之前的版本中添加内边距,这个属性为了防止内容和边角的重叠 一般来说和RecyclerView搭配起来使用效果更加~ --...上运行时没有问题的,但是低版本的会报错,最好做下判断 * @param seekBar * @param progress
" app:icon="@drawable/ic_android_white_24dp" /> 默认情况下, 此类将使用主题的 accent colour 填充按钮的背景颜色, 同时使用白色作为按钮的文字颜色...Chip Chip 组件允许我们在布局中展示一个纸片组件. 其本质上一些文字被赋予一个圆形背景 -- 这样做的目的是向用户显示某种形式的文本集合, 可能被选择也可能不被选择....我们可以像这样在布局中添加一个 Chip , 使用 app:chipText 属性设置 Chip 中显示的文本: android.support.design.chip.Chip android...CardView 组件...., 如果要展示边框的话, 此属性必须设置 app:strokeWidth: 要应用于视图边框的宽度 ?
而其中okhttp是一个你做Android开发必须要知道的一个库,很多公司在面试的时候都会问这个库的底层原理,有想法可以详细的去官网了解,这是github上的地址:okhttp,有兴趣就可以去了解。...文章中只是简单的使用而已,这里先说明,然后Sync。 然后在AndroidManifest.xml中添加网络访问权限 在onCreate中增加如下代码: //设置亮色状态栏模式 systemUiVisibility在Android11中弃用了,可以尝试一下。...Android的版本,这个在Android6.0以上生效,不过这只是做测试,所以我就不做判断了,因为我的手机是10.0,但是在实际的开发中还是要做的,这就涉及到Android版本适配了,比较多复杂,网络上的文章比较多...,也就是http的许可 然后打开AndroidManifest.xml,在application标签中配置 ?
零、前言 [1].CardView extends FrameLayout [2].一个带圆角和阴影的FrameLayout,FrameLayout怎么用,它就怎么用 [3].依赖implementation...'com.android.support:cardview-v7:26.1.0' ?...app:paddingEnd 内容与边距的间隔终止 app:cardUseCompatPadding 设置内边距,在API21及以上版本和之前的版本仍旧具有一样的计算方式...app:cardPreventConrerOverlap 在API20及以下版本中添加内边距,这个属性为了防止内容和边角的重叠 注意:CardView中使用android:background...会自动添加一些额外的padding空间来绘制阴影部分, 这也导致了以V21为界的不同系统上CardView的尺寸大小不同 app:cardUseCompatPadding="true"适配 2.圆角覆盖
" parent="Theme.AppCompat.Light.NoActionBar"> 在系统设置为深色模式后,发现应用中的部分文字从默认颜色变为了白色,CardView从白色变成了黑色(大多数文字和组件颜色没有变化...),丑到爆了 很容易发现有变化的文字是因为没有设置textcolor,于是给他们加上之后,又给所有的cardview设置了background,但是发现文字不会改变,但cardview依然会变成深色。...赶紧看了一下文档 https://developer.android.google.cn/guide/topics/ui/look-and-feel/darktheme, 希望能有禁用深色模式的方法,但根据文档里的意思...Theme.AppCompat.DayNight"> 修改了一下 再次运行,发现没有作用,Cardview...公司的项目被几个人修改过,各种配置已经比较乱了,也不敢乱改,切到自己的demo试了一下,发现默认的应用是不会跟随深色模式的,经过对比才发现,demo的styles是 <style name="AppTheme
在Google I/O 2014上,Google公布了Android L Preview版本,此版本的UI有了非常大的改变,很炫很给力!...虽然说CardView整合到了V7中,但是在support-v7中并不能发现,通过查看sdk extra路径下的文件可以发现,其名字叫cardview-v7。 ?...都不行,所以目前我能找到的正常使用CardView的IDE及配置办法只有在AndroidStudio中,不过这也是趋势,早用早好的事情。...解决办法: 在使用CardView的工程的AndroidManifest.xml中: <uses-sdk xmlns:tools="http://schemas.android.com...CardView继承于Framelayout,所以Framelayout的属性他都有,同时CardView还有几个特殊的属性: 在API21(Android L)等级以上拥有属性elevation,意为
> android.support.v7.widget.CardView> 半圆和虚线的实现 这里都是用shape的方式完成的。...android:dashWidth="5dp"/> 其中需要注意的细节 金额数值与 ¥ 的显示对齐问题,这个地方涉及到基准线的知识点, 在LinearLayout...中,默认是底部对齐的,只需要设置LinearLayout的android:baselineAligned属性为false 就行了,这样就是以顶部对齐。...最外层用的是CardView,效果图中看起来还是蛮不错的,但是在5.0以下,CardView显示内部会有留白,那两个半圆就会显示在白色的背景之内,极其影响美观,所以就可以根据5.0为分水岭做一个判断,具体可查看解决...CardView在5.0以下留白的问题。
正文 ① 修改API 在ApiService中修改hotCity这个接口,将固定地址里面的group分离出来,作为请求参数。...③ 创建选择弹窗 之前是在HotActivity中默认查询海外热门城市的,现在增加了一个参数,就需要用户去手动选择了,我们可以通过一个弹窗来进行选择。 在layout下创建 ?...方法中的入参 ?...cardview.widget.CardView> 图标也是要修改的 ?...这样传入的类型就会影响到适配器中的样式了,最后一步就是在getHotCityResult方法中对返回值中做数据的处理了。 ?
界面上有9个CardView,分布为: 1—2—3 4—5—6 7—8—9 焦点 为了使每个CardView接收焦点,所以需要设定焦点相关的属性: android:clickable="true"...--在触屏下可获得焦点--> android:nextFocusLeft="@id/card3" android:nextFocusDown="@id/card4" <!...this : null; } ViewGroup.findFocus 在ViewGroup也有对findFocus的复写: /* * (non-Javadoc) * * @see android.view.View...另外,就是从系统层面给所有的view添加focusable属性,也就是解析的时候给view都加上这个属性。 最后就是焦点的显示,可能也需要给所有的view添加获取焦点后的放大或加边框显示。
="vertical" tools:context=".CardActivity"> android.support.v7.widget.CardView android...> android.support.v7.widget.CardView> 这边使用了CardView实现卡片效果,然后自定义组件继承至LinearLayout...; int green = rgb >> 8 & 0xff; int bule = rgb & 0xff; //#000000为黑色,#FFFFFF为白色...* ~OPAQUE:便是完全不透明,遮盖在他下面的所有内容 * ~TRANSPARENT:透明,完全不显示任何东西 * ~TRANSLUCENT:只有绘制的地方才覆盖底下的内容...中调用attachImage方法 public class CardActivity extends AppCompatActivity { private ImageView ivCard;
标题图 补充 补充上一节,使用ListView是用来显示列表项的,使用ListView需要两个xml文件,一个是列表布局,一个是单个列表项的布局。...Handler和AsyncTask为了是为了不阻塞主线程即UI线程,UI的更新只能在主线程中进行处理,所以异步处理在Android开发中不可免。...在关系型数据库中,二维表中的列为属性,称为字段;行为记录,如一对象;属性中(字段)取值范围称为域。 这里我们要学会数据库,如DDL,DML等,数据定义语言和数据操作语言,创建表格和增删改查。...在Android提供了SQLiteDatabase创建对象,运用不用写数据库语法封装好的API类。分别用query(),insert(),delete(),update()表示。...创建表语句 //注意这里 _id 在Android中写这种形式,如果写 id为报错的 create table student(_id Integer primary key autoincrement
Android 4.4: Android对于开发者提供了越来越多的动画API支持。...从API 1就存在的Drawable Animation和View Animation,以及API 11(Android 3.0)以后加入的Property Animation。...而过渡动画Transition是在API 19(Android 4.4.2)中加入的。...新的Lollipop api更进了一步,让单独的view也可以在进入或者退出其布局容器中时发生动画效果,甚至还可以在不同的activity/Fragment中共享一个view。...我们可以看到,共享元素变换并不是真正实现了两个activity或者Fragment之间元素的共享,实际上我们看到的几乎所有变换效果中(不管是B进入还是B返回A),共享元素都是在B中绘制出来的。
是复用的,在RecyclerView中,是把ViewHolder作为缓存的单位了,然后convertView作为ViewHolder的成员变量保持在ViewHolder中,也就是说,假设手机屏幕可显示10...注意的是:RecyclerView不提供ListView中的setOnItemClickListener方法,我们可以在ViewHolder中添加类似的点击事件。...ItemAnimator:ItemAnimator简单来说是会根据适配器上收到的相关通知去动画的显示组件的修改,添加和删除等。它会自动添加和移除item的动画。自带的默认效果也不错,已经非常好了。...因为我看市面上目前大部分的app都是这样做的,下拉刷新用SwipeRefreshLayout的效果,自己在RecyclerView上添加上拉更多。...CardView CardView介绍 CardView是Android5.0之后为新增的控件,CardView是一个卡片布局,布局可以包含圆角和阴影,本质上CardView是一个FrameLayout
4 1.6 Donut(甜甜圈) 2009-09-15 语音输入及搜索功能增强,图库与相机的集成,多张照片删除 5 2.0 Eclair(闪电泡芙) 2009-10-26 蓝牙2.1支持,相机功能增强...,共享内存API,自动填充框架更新 28 9.0 Pie(馅饼) 2018-08-07 快速设置菜单的新用户界面,更丰富的消息通知,DNS over TLS 29 10.0 Q-Android10 2019...Support Library Android 支持库提供了诸多未内置于框架的功能。这些库提供向后兼容版本的新功能、框架中未包含的实用 UI 元素,以及应用可以利用的一系列实用程序。...:28.0.0 v7 appcompat com.android.support:appcompat-v7:28.0.0 v7 cardview com.android.support:cardview-v7...这些组件可帮助您遵循最佳做法、让您摆脱编写样板代码的工作并简化复杂任务,以便您将精力集中放在所需的代码上。
老Android们熟知的下述库 (v后面的数字代表最低兼容API版本,如4对应Android 1.6) 都属于Android Support Library: com.android.support:...Android版本更新飞快,现在都Android 12了,国内APP基本都最少兼容Android 5.1 (API 21),这种v4、v7的命名早已没太大的意义。...升级内容主要有两个方面: ①包名→ Support Library 中的API包名都是 android.support.,而AndroidX Library中的API都变成androidx....,意味着后续android.*包下的API都是随系统发布的,而androidx.包下的API都是随着扩展库发布的,API基本不依赖于操作系统的具体版本。...配置 在项目的 gradle.properties 文件中添加下述配置: # 当前项目启用androidx android.useAndroidX=true # 将依赖包也迁移到androidx,一般写
1、在AndroidManifest.xml添加使用cardview需要引入的依赖库 implementation 'androidx.cardview:cardview:1.0.0' 若不记得,File...③在cardview控件内新增: app:contentPadding="10dp" 效果图:整体卡片的宽高都变大了,因为加了一个10dp的padding ---- ③在cardview控件内新增...随机抽取5名幸运用户,获得慕课网付费面试课程中的任意一门!")...: app:cardUseCompatPadding="true" 效果图: 5.0以上添加前 添加后 5.0以下 cardview在5.0以上的效果是比较好的,在...如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
老Android们熟知的下述库 (v后面的数字代表 最低兼容API版本,如4对应Android 1.6) 都属于Android Support Library: com.android.support:...,Android 3.x系统是平板专用系统,用得不多; Android版本更新飞快,现在都Android 12了,国内APP基本都最少兼容Android 5.1 (API 21),这种v4、v7的命名早已没太大的意义...升级内容主要有两个方面: ① 包名 → Support Library 中的API包名都是 android.support.,而AndroidX Library中的API都变成androidx....配置 在项目的gradle.properties文件中添加下述配置: 当前项目启用androidx android.useAndroidX=true 将依赖包也迁移到androidx,一般写true 如果设为...或下载映射的 CSV文件,修改示例如下: implementation com.android.support:cardview-v7 替换成→ implementation androidx.cardview