:屏幕宽度(像素)/屏幕密度 val screenWidth = (width / density).toInt() // 屏幕宽度(dp) val screenHeight = (height /...--圆角度数--> android:radius="6dp" /> 宽度及边宽颜色--> <stroke android:width="1dp" android:color="#ccffffff" /> android:color="@color/zj_blue" /> Button背景圆角+涟漪 涟漪效果用的色值#9ccc 本来的设想是设置圆角的...系统将自动选择这些模式中一种主要依赖于是否窗口的内容有任何布局视图能够滚动他们的内容。如果有这样的一个视图,这个窗口将调整大小,这样的假设可以使滚动窗口的内容在一个较小的区域中可见的。
:cardview-v7:27.1.1' implementation 'com.android.support:support-v4:27.1.1' 我的常用组件 Kotlin & anko anko...plugin: 'kotlin-android' apply plugin: 'kotlin-android-extensions' apply plugin: 'kotlin-kapt' dependencies...:1.2.+' 图片圆角&背景圆角 图片圆角RoundedImageView 背景圆角FlycoRoundView //图片圆角 implementation 'com.makeramen:roundedimageview...Material Dialogs dependencies { implementation 'com.afollestad.material-dialogs:core:0.9.6.0' } 事件视图绑定...jitpack.io' } } dependencies { compile 'com.github.pinguo-zhouwei:CustomPopwindow:2.1.1' } 应用崩溃检测服务
构建该工具包的目的在于与现有 Android 应用和 Jetpack 开发库集成,您可以将 Android 视图与 Compose 相结合,按照您自己的节奏应用 Compose。...旨在与 Android 视图无缝协作,便于您按照自己的节奏应用该工具包。...您可以在 Android 视图中嵌入 Compose UI,并在 Compose 中使用视图。我们在 互操作性文档 中提供了多种应用策略。...除了视图互操作性,我们还 集成了常用开发库,帮助您将 Compose 添加到现有应用中,而无需重写或重新设计应用。...我们期待收到您对在应用中采用 Compose 的 反馈,您也可以在 Kotlin Slack 的 #compose 频道中参与讨论或在下方留言区和我们分享。
因为Android Studio 4.0 添加了对Jetpack Compose 的支持,如新的Compose 模版和Compose 及时预览。...为LayoutSize.Expand即表示Column宽度应为其父组件允许的最大宽度,相当于传统布局中的match_parant ,还有一个值为LayoutSize.Wrap,看名字就知道,包裹内容,相当于传统布局中的...在这种情况下,我们将应用一个Spacing修改器,该设置将Cloumn与周围的视图产生间距。 4. 如何显示一张图片?...图片已添加到布局中,但会展开以填充整个视图,并和文本是拼叠排列,文字显示在上层。...添加Shape样式 Shape是Material Design 系统中的支柱之一,我们来用clip函数对图片进行圆角裁剪。
硬件设备 模拟器 or 真机 第一个Android应用 Android 开发基础 activity是Android SDK中Activity类的一个具体实例,负责管理用户与屏幕的交互。...GeoQuiz 创建Android项目 启动Android Studio -> File -> New Project(选择 Kotlin 语言),然后就是应用名呀,包名呀,选择SDK最低版本,选择模板什么的...activity子类的实例被创建后,onCreate(Bundle)方法被调用,并通过调用setContentView()方法获取管理属于自己的用户界面,根据传入的布局资源ID,生成指定布局视图并将其放置在屏幕上...组件的实际应用 主要就在讲如何在代码中获得布局文件中的组件,为之设置监听器等内容,现在很多项目都用一些注解类框架来简化这个过程,比如说ButterKnife,还有ViewBinding(AS3.6 才支持...深入学习:Android编译过程 在整个编译过程中,Android开发工具将资源文件、代码以及AndroidManifest.xml文件(包含应用的元数据)编译生成.apk文件。.
plugin: 'kotlin-android' apply plugin: 'kotlin-android-extensions' apply plugin: 'kotlin-kapt' dependencies...implementation 'com.qmuiteam:qmui:2.0.0-alpha10' 图片圆角&背景圆角 图片圆角RoundedImageView 背景圆角FlycoRoundView...//图片圆角 implementation 'com.makeramen:roundedimageview:2.3.0' //背景圆角 implementation 'com.flyco.roundview...implementation 'pl.droidsonroids.gif:android-gif-drawable:1.2.+' 事件视图绑定 Butterknife implementation '..." 可以使用Anko代替 应用崩溃检测服务 Bugly implementation 'com.tencent.bugly:crashreport_upgrade:1.4.5'
您可以将 Widget 理解为一个 "一目了然" 的应用视图,让用户在无需从主屏幕打开应用的前提下,就能对应用数据和核心功能一览无余。...Widget 的外部容器,这样做可将系统参数提供的圆角半径应用于 Widget 背景中。...同样,将内部视图的可绘制对象应用于表示 Widget 内部容器的布局,如代码所示: // res/layout/widget_layout.xml <LinearLayout android:background...” …> △ 图左: Widget 圆角;图右: 内视图圆角 从效果中我们可以看到 Widget 当前内部容器的圆角半径要小于外部容器...那么如何做到让 Widget 随着尺寸的变化而动态更新显示内容呢,用如下代码举例,我们定义了三个不同的参数,分别包含最小支持宽度和高度,以及在此大小范围内对应的 RemoteView,系统会自动根据实际的尺寸而自动对
在内置的应用中可以看到圆形图标或圆形图像,如联系人和电话应用。这篇短文中,我们将探讨CALayer类,以及如何运用它来创建圆形图像或圆角图像。 您可能并没有听说过CALayer类。...但是,如果你曾经创建过应用程序,那么你应该以某种方式使用过它。UIKit中的每个视图(例如UIView、UIImageView)都备份在一个CALayer类的实例中(即layer对象)。...layer对象提供了多种属性,使用它们来控制视图的可视内容: 背景颜色 边框和边框宽度 阴影颜色,宽度等 Opacity(不透明度) 圆角半径 Corner radius就是我们用来绘制圆角和圆形图像的属性...所以上面的第一行是设置layer对象(CALayer类的一个实例)的圆角半径。将方形图像变成圆形图像,半径应设置为UIImageView宽度的一半。例如,如果方形图像的宽度是100像素。...再次编译并运行应用程序,您现在应该看到一个拥有白色边框的头像。 创建圆角图片 你可以使用同样的方法来创建圆角图像。关键是要改变圆角半径,并将其设置为其他值。
还可以调用 WindowInsets.getRoundedCorner() 来获取基于应用边界的圆角位置等信息。如此一来,你就可以根据需要灵活调整界面元素和内容的位置。 ?...2.3 更易用的模糊、色彩滤镜等特效 在 Android 12 中,可以更轻松地将常用图形效果应用于视图和渲染结构上。...3.1.1 对 MAC 地址的限制 Android 12 进一步限制了所有非系统应用对设备的 MAC 地址的访问。...3.2.1 更安全的导出组件 包含 intent 过滤器的应用组件必须显式设置 android:exported 属性,如 Activity、Service、Broadcast Receive。...如果未来计划升级目标版本至 31,则需关注以 Android 12 为目标平台的改动,如清单文件中申明了intent-filter的 Activity、Service,必须设置android:exported
进而,我们还了解到 Kotlin 深受开发者的喜爱,如今在排名前一千名的应用中,有超过 70% 的应用使用了 Kotlin,60% 的专业 Android 开发者都在使用 Kotlin。...,不仅有高效的工具,还可以和现有 Android 视图进行互操作,您无需重新编写您的应用。...或视图布局中添加 Compose 元素。...您可以将基于视图的 UI 元素添加到可组合的函数中。这样做可以将不基于 Compose 的组件添加到基于 Compose 的组件中,例如: MapView 或 WebView。...示例应用 展示了如何在 Compose 嵌入一个 MapView 观看视频: 将 Compose 加入现有的应用:https://youtu.be/PjQdFmiDgwk 强大的工具 Android
app:strokeColor: 用于按钮边框的颜色 app:strokeWidth: 用于按钮边框的宽度 ? app:cornerRadius: 用于定义按钮圆角的半径 ?...例如, Chip 可用于根据应用程序中的当前上下文向用户显示可选建议的列表. ?...这样做时, 你需要将 ChipGroup 封装在滚动视图(如 HorizontalScrollView )中, 以便用户可以滑动正在显示的 Chip...., 如果要展示边框的话, 此属性必须设置 app:strokeWidth: 要应用于视图边框的宽度 ?...除了这两个属性之外, 还可以使用最初可用的属性(如 app:cardBackgroundColor 等)设置卡片视图的样式.
包括适当缩放以展示更多内容,如示例中的副标题和日期,以及较小的组合技术,例如在紧凑型的布局中对内容进行视觉分组并保持其相关性等。...例如,几乎所有标准手机在竖屏模式下都采用了较小 (Compact) 宽度和中等 (Medium) 高度的组合,由于普遍使用垂直滚动,对大多数应用而言,根据宽度的尺寸类别进行适配就已足够。...规范布局 规范布局提供了一系列通用布局方案,对设计大屏幕应用非常有帮助。第一种是列表/详情,或列表网格视图的简单组合,同时在开始展示内容的屏幕起始侧,设置/不设置导航容器。...遵循 Material 指南,我们可以根据宽度的尺寸类别提供替代布局,将导航调整到最方便使用的位置。例如,小屏幕采用底部导航视图,中等屏幕采用 Navigation rail,大屏幕采用完整导航视图。...△ Android Studio Chipmunk 中的可调整尺寸的模拟器 我们也一直在 Android Studio 中开发新工具,希望为大家开发大屏幕应用提供支持。
Kotlin Flow 是什么? Kotlin Flow 解决了什么问题? Kotlin Flow 如何在 MVVM 中使用?...Google 推荐在 MVVM 中 使用 Kotlin Flow Google 推荐在 MVVM 中使用 Kotlin Flow我相信如今几乎所有的 Android 开发者至少都听过 MVVM 架构,在...Google Android 团队宣布了 Jetpack 的视图模型之后,它已经成为了现代 Android 开发模式最流行的架构之一,如下图所示: ?...map 等等 Flow 是对 Kotlin 协程的扩展,让我们可以像运行同步代码一样运行异步代码,使得代码更加简洁,提高了代码的可读性 易于做单元测试 Kotlin Flow 如何在 MVVM 中使用...,在 ViewModel 中接受 Flow 发送的数据有三种方法,根据实际情况去调用。
如返回 View 类型)。...您可以使用修饰符来执行以下操作: 更改可组合项的大小、布局、行为和外观 添加信息,如无障碍标签 处理用户输入 添加高级互动,如使元素可点击、可滚动、可拖动或可缩放 修饰符是标准的 Kotlin 对象。...fillMaxWidth 使可组合项填充其父项为它提供的最大宽度。 size() 指定元素的首选宽度和高度。...artist.lastSeenOnline, modifier = Modifier.offset(x = 4.dp) ) } } } offset 修饰符根据布局方向水平应用...它允许您在应用程序中创建水平滑动的页面布局,类似于 ViewPager 或 RecyclerView。
在这篇文章里,我分享一个用 MDC和 Kotlin 语言实现使用AndroidView和Kotlin开发轮播图功能。无论你有没有开发经验,相信这篇文章对你会非常有所帮助。...一、项目背景: 介绍MDC(Android View) Carousel UI Material Design Components (MDC) 是构建现代 Android 应用的 UI 组件库,遵循...下面的代码展示了如何在 Activity 中初始化 RecyclerView 配置 CarouselSnapHelper 和 CarouselLayoutManager。...或 Kotlin 代码来操作这些视图。...它采用声明式编程的方式,你只需要专注于描述“界面应该是什么样子”,而不需要手动更新视图。UI 会根据状态的变化自动重新绘制。开发界面很直观,只需要改变状态,Compose 会自动处理 UI 更新。
性能 : Play 商店会渲染大量媒体密集型内容,其中很多业务指标对延迟和卡顿十分敏感,所以我们需要确保它在所有设备上表现良好,尤其是低内存硬件和 Android (Go 版本) 设备。...此项改进的实现得益于 Compose 是一个利用了 Kotlin 简洁性的声明式界面框架。自定义绘图和布局现在是简单的函数调用,而不用再通过对视图子类进行各种复写。...以评分表格为例: 使用视图类编写,此表格包含: 总共 3 个视图类,其中 2 个需要自定义绘制圆角矩形和星形 约 350 行 Java 代码,55 行 XML 使用 Compose 编写,此表格包含:...由于需要把 Compose 打包在应用中 (而不是作为 Android 框架的一部分),这是一项艰巨的任务。...在最初的集成实验中,我们遇到了双栈问题: 在单个用户会话中同时运行 Compose 和视图类渲染非常占用内存,尤其是在低端设备上。
:onClick属性为 XML布局中的按钮分配一个方法,而不是对Activity中对按钮实现onClickListener。...此方法必须是公共的,并且接受一个视图作为它的唯一参数。...三、按钮样式设置 每个按钮都使用系统的默认按钮背景进行样式化,如果您对默认按钮样式不满意,并且希望对其进行自定义以匹配应用程序的设计,那么您可以用可绘制的状态列表替换按钮的背景图像。...状态列表可绘制是在XML中定义的可绘制资源,它根据按钮的当前状态更改其图像。一旦定义了一个可以用XML绘制的状态列表,就可以将它应用到具有 android:background属性的按钮上。...右上角的圆角半径 ) stroke:描边属性,可以定义描边的宽度,颜色,虚实线等( width描边的宽度、 color描边的颜色) 方法一:在xml布局里直接设置自定义 shape背景,如果想给按钮内部文字设置边距还可以自己设置
View View其实就是UI最基础的组件,跟我们android中的View不同,它更像我们android中的LinearLayout,RN中的View是一个支持Flexbox布局、样式、一些触摸处理和一些无障碍功能的容器...color 底部边框颜色 borderBottomLeftRadius 左下方圆角的大小 borderBottomRightRadius 右下方圆角大小 borderBottomWidth 底部边框的宽度...yes - 这个视图对于辅助功能而言重要。 no - 这个视图对辅助功能不重要。 no-hide-descendants - 这个视图,以及所有的后代视图,都对于辅助功能不重要。...renderToHardwareTextureAndroid bool android 决定这个视图是否要把它自己(以及所有的子视图)渲染到一个GPU上的硬件纹理中。...为什么傲骨贤妻中的女主角与丈夫做爱的次数多于接吻?对用情专一人群的研究发现,接吻而非性爱的频率与爱情幸福度最密切相关。
Android12 遵循了 M3 的 Dynamic Color 设计原则,系统可以从用户的壁纸中抓取颜色,然后色阶化应用到你开发的应用中,应用跟随主题的不同和变换颜色,千人千面。...12L 针对大屏设备和折叠屏对界面进行了优化,例如当屏幕宽度大于 600dp 时将默认显示两列内容、引入了类似 Chrome OS 的 Dock 栏等,同时支持拖拽分屏等功能,同时在不同窗口中启动多个应用...Kotlin Flow medium.com/androiddeve… Kotlin方面,本次活动上重点推荐了 Kotlin Flow 在 MVVM 架构中的应用。...Compose @review 最近的 Andorid Studio 版本中对 Compose 的预览功能进行了多项强化:像原生视图那样,支持对 Compose UI 进行 3D 布局预览;对于一些字面值变量的修改无需重新编译即可实现预览的实时更新...App 可能需要适配更多而屏幕尺寸、Jetpack Compose 在 UI 开发上的先进性正逐渐凸显;Kotlin Flow 对 LiveData 以及 WorkManager 对 Service
您可以尽情在应用中导航、触发动画和视图转场,在这同时依然能精确调试 UI,让每一个像素都尽如人意。前往《Android Studio 4.0+ 中新的 UI 层次结构调试工具》了解更多。...新的构建功能开关选项 Android Gradle 插件内置了对现代代码库 (如数据绑定和视图绑定) 和构建功能 (如自动生成 BuildConfig 类) 的支持。...Gradle 插件 DSL 对 Kotlin DSL 脚本文件的基础支持 Android Studio 4.0 现在已经内置了对 Kotlin DSL 构建脚本文件 (*.kts) 的支持,这意味着...虽然我们对使用 Kotlin 来配置构建有很高的期待,但接下来的一年中我们依然会继续完善 Android Gradle 插件的 DSL API,这可能会给 Kotlin 脚本用户带来 API 的重大变更...从长远来看,这些改善终将使得 DSL 对 Kotlin 脚本用户来说更简单易用。
领取专属 10元无门槛券
手把手带您无忧上云