首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

自定义 Behavior,实现嵌套滑动、平滑切换周月视图的日历

原本想用原生的 CalendarView,但是 CalendarView 不支持周视图,可自定义程度也不高。 在 GitHub 搜了一下,决定使用 MaterialCalendarView。...这个库比较流行,它支持周月视图的切换,符合 Material Design,也可以自定义显示效果。...在布局中,对子控件配置 app:layout_behavior 属性,实现对应的联动效果。所以这里我们需要自定义日历和列表的两个 Behavior。 Behavior 有两种实现联动的方式。...我们自定义两个 Behavior,列表控件的 CalendarScrollBehavior 和日历控件的 CalendarBehavior,都继承 ViewOffsetBehavior。..."#fafafa" /> android.support.design.widget.CoordinatorLayout> 效果如下: [strip] 平滑切换视图 接下来处理周月视图切换的问题。

3.4K10

Android开发笔记(十一)自定义视图的构造方法

自定义视图的用法 Android自带的视图常常不能满足实际开发的需求,这种情况下我们就得自定义视图(View)。...然后在使用自定义视图的布局文件的根节点下增加类似下面的命名空间定义,这里的路径应与AndroidManifest.xml的package属性值保持一致。...xmlns:app="http://schemas.android.com/apk/res/com.practice.activity" 最后在使用视图的xml布局中加上类似下面这样的xml描述:...自定义视图的编码步骤 自定义视图的编码主要由四部分组成: 一、重写构造函数,并初始化个性化参数; 二、重写测量函数onMesure,计算该视图的宽与高(除了复杂视图,实际开发中一般不进行重写)...在寻找该自定义视图的属性时,就会依次先找XML布局文件,再找attrs.xml文件中R.attr.CustomizeStyle的定义,最后找style文件中R.style.DefaultCustomizeStyle

64760
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    iOS自定义视图之【大图浏览器】(应用场景:查看风险商户证明材料时图片支持滑动切换)

    引言 从CSDN下载Demo源码:https://download.csdn.net/download/u011018979/16039540 应用场景:查看多张大图,比如查看风险商户的证明材料,图片支持滑动切换...文章:https://blog.csdn.net/z929118967/article/details/115077471 主要功能:进入查看器之后,可左右滑动查看上/下张,并支持下滑视图退出查看器...animated:YES completion:nil]; } II、demo 2.1 数据模型 @interface KNImageBrowserModel : NSObject /** 大图的图片地址...*/ @property(nonatomic,copy)NSString * urlStr; /** 小图原始的imageView,用于加载大图时的展位图片 */ @property(nonatomic...self.viewModel.collectionDataArray valueForKeyPath:@"@distinctUnionOfObjects.imageView4small"];//arDistinct是一些含有originalAddress属性的对象集合

    50610

    如何快速制作支持源码和 Framework 切换的 Cocoapods 库

    最近一直在搞怎么加快编译速度,也查看了很多的资料。 加快XCode的编译链接速度(200%+)—XCode编译速度慢的解决方案 根据我自己的理解,我觉得大致分为下面几个方面优化。...硬件方面(可以飞速提升) 给编译结果存储采用机械硬盘存储 提升机器配置 比如 CPU 内存和硬盘 基于技巧 开启多线程编译 貌似最新的 Xcode9支持多线程编译 但是貌似机器会更卡...使用 CCache 使用 Cache 是可以大幅度的节省大量的编译时间 但是我们用到很多打包的 Framework 使用了@import 不支持 Cache 很苦逼 去掉 PCH 文件(减少...PCH 引用文件头改动) PCH 本来是为了引入外部的框架头部进行预编译,从而加快 build 和 build run 的速度的。...但是许多开发人员没有了解 PCH 的原理,为了方便什么头文件都放在里面。结果没有起到加快编译还越来越慢。 最后苹果只好隐藏的不做支持,需要的自己去配置。

    1.2K20

    Android 自定义 ViewPager 打造千变万化的图片切换效果

    时间长了,ViewPager的切换效果觉得枯燥,形成了审美疲劳~~我们需要改变,今天教大家如何改变ViewPager切换时的效果,实现个性化的图片切换~~ 看一下这样效果的图片切换: 是不是比传统的效果个性很多...,嘿嘿~~其实很简单,学习完这篇博客,保证你可以自定义切换效果,做出各种丧心病狂的切换~~ 1、制作前的分析 观察下效果图,实际上改变的就是切换时的动画,那么简单了,只需要用户在切换时,拿到当前的View...好,第一步,获取用户切换时的当前View和切换至的目的View。 我们在来看一下,如果或者了当前View和目的View,对于动画我们需要缓慢的变化,最好是根据用户的手势滑动。...经过分析,我们总结出两个步骤,下面我们开始一步一步来打造~~~ 2、获取用户切换时当前View和切换至的目的View。 ViewPager也需要监听用户的手势,所以肯定提供了某个方法。..., position);其实就是为了给我们的Map存值 主要看自定义的ViewPager package com.example.zhy_jazzyviewpager; import java.util.HashMap

    53410

    【PageLayout】非常简单的一键切换加载-空数据-错误页,支持自定义

    绪论 Android中经常使用一个空白页和网络错误页用来提高用户体验,给用户一个较好的感官,如果获取到的数据为空,那么会显示一个空白数据页,如果在获取数据的过程中网络错误了,会显示一个网络异常页,像最近比较火的某东这样...1.自定义一个布局让其作为跟布局 2.提供切换加载loading、空白页empty、错误页errror、内容页content功能 3.怎么让其取管理上边的四个页面?...实现 1.代码设计 首先我们定义PageLayout继承FrameLayout或者LinearLayou或者其他的布局都可以,然后我们需要提供切换四个布局的功能,当然如果支持自定义就更好了,还有状态布局里面的一些属性...,Window才是真正的显示视图。...,所以并没有提供过多的自定义功能,如果你需要的话,你都可以提前设置好View,然后进行set 之前和同事讨论,xml形式和代码形式哪个更方便更灵活,这些都属于个人喜好吧,如果你更喜欢在xml里写的话,你可以进行改造

    76930

    在Android应用中实现跳转的计数和模式切换按钮

    问题描述 在程序应用中,我尝试引入了两个新功能:连续点击跳转UI和切换按钮名称模块显示。...按钮创建问题:应用在每次操作时创建两个按钮,这种方法在视觉上和性能上都不够高效率。...如图下 解决方法 第一个问题的解决方案:使用取模运算 为了避免重置计数器,我们采用了取模运算符(%)通过这种方法,用户的每次点击都会被计数: 当计数达到8时,自动触发跳转操作。...第二个问题的解决方案:控制按钮可见性 为了解决按钮创建问题,在同一个活动中控制两个按钮的可见性,而不是重复创建按钮: 用户可以通过点击“切换升级模式”按钮进入"升级模式"。...结论 通过上述解决方案,解决了用户在操作上的不便,提升了应用的整体性能,还可以优化UI的便捷性。 谢谢大家的阅读: )

    26440

    Android中的通知和自定义通知布局

    Android中的通知(Notification)是Android中的重要一部分,应用程序通过通知来提醒用户或者向用户传达信息,下面让我们来看一下怎么在我们的程序中使用通知和自定义通知的布局。...无论是使用自定义视图还是系统提供的视图,上面4的属性一定要设置,不然这个通知显示不出来 */ 3、调用通知管理服务的notify方法发送通知 我们依然通过一个例子来看一下: 新建一个.../* * 首先,无论你是使用自定义视图还是系统提供的视图,上面4的属性一定要设置,不然这个通知显示不出来 */ .setWhen(System.currentTimeMillis.../* * 是使用自定义视图还是系统提供的视图,上面4的属性一定要设置,不然这个通知显示不出来 */ .setDefaults(Notification.DEFAULT_ALL...,总体思路是对布局文件中的两个按钮进行事件处理,定义 notifyFirstNotification() 方法和 notifySecondNotification() 方法分别用于创建系统提供布局的通知和自定义布局的通知

    3.6K20

    安卓常用的控件

    它支持加载和显示各种格式的图片资源。 属性 android:src: 设置显示的图片资源。 android:scaleType: 设置图片的缩放类型(如适应、裁剪、填充等)。...Switch Switch 是一个切换开关控件,用于在开和关之间切换状态。 属性 android:textOn: 设置开状态时的文本。 android:textOff: 设置关状态时的文本。...ListView ListView 是一个用于显示滚动列表的控件,每个列表项可以是一个自定义的视图。 使用步骤 定义布局: 创建一个包含 ListView 的布局。...RecyclerView RecyclerView 是一个更灵活和高效的列表控件,可以替代 ListView。它支持布局管理器和视图持有者(ViewHolder)模式。...使用步骤 定义布局: 创建一个包含 RecyclerView 的布局。 创建适配器: 实现 RecyclerView.Adapter,定义数据和视图的绑定逻辑。

    20310

    如何用kotlin开发同时支持iOS和Android的库

    如何用kotlin开发同时支持iOS和Android的库 虽说kotlin-native可以支持链接到c,java,objective-c等语言,甚至可以进行原生开发,但是在使用的过程中并不友好,配置繁琐且...通过kotlin构建库不失为一个好办法,可以将iOS和安卓共有的参数、model和通用方法用kotlin写成库,并分别打包给两个平台使用,在未来应该是一个可行性的方案。...下面就介绍一下怎么用kotlin来开发一个支持两个平台的库: 新建Gradle工程 一、在idea中打开 File -> New -> Project 二、在侧边栏选择gradle并取消勾选java 三...、设置项目的GroupId、artifactId、 Version信息 四、选择gradle环境,如果选择本地的配置,可以省去配置的时间 五、配置项目名称和存放的路径,并Finish 写Demo代码 在根目录新建一个名为...src的文件夹,并在里面按照java开发的方式添加package:com.leacode.model 新建名为base.kt文件 package com.leacode.model const val

    3K20

    【Android从零单排系列十一】《Android视图控件——日历、日期、时间选择控件》

    二.几种常见的控件类型 1.CalendarView –日历控件 CalendarView是Android上一个优雅、高度自定义、性能高效的日历控件,完美支持周视图,支持标记、自定义颜色、农历等,任意控制月视图显示...CalendarView 的特性 基于Canvas绘制,极速性能 热插拔思想,任意定制周视图、月视图,即插即用 支持单选、多选、范围选择、国内手机日历默认自动选择等选择模式 支持静态、动态设置周起始...,一行代码搞定 支持静态、动态设置日历项高度、日历填充模式 支持设置任意日期范围、任意拦截日期 支持多点触控、手指平滑切换过渡,拒绝界面抖动 类NestedScrolling特性,嵌套滚动 既然这么多支持...格式 android:minDate:最小的日期显示在这个日历视图mm / dd / yyyy格式 android:weekDayTextAppearance:工作日的文本出现在日历标题缩写 2....DatePicker –日期选择控件 android:calendarTextColor : 日历列表的文本的颜色 android:calendarViewShown:是否显示日历视图 android:

    14.4K30

    Android OkGo网络请求库 自定义回调支持带泛型的对象

    前言 这里写了两种方式请求接口 (文中用了Java和Kotlin两种语言 没有特殊标示的都是Java) 普通方式 Rx方式 建议是用Rx方式 常用调用方式 依赖 名称 引用方式 作用 okhttp-OkGo...String toString() { return "ResultVo [code=" + code + ", msg=" + msg + ", obj=" + obj + "]"; } } 自定义回调...ZJJsonCallback import android.app.Activity; import android.app.ProgressDialog; import android.content.Context...; import android.app.ProgressDialog; import android.content.Context; import android.view.Window; import...* 主要作用是解析网络返回的 response 对象,生产onSuccess回调中需要的数据对象 * 这里的解析工作不同的业务逻辑基本都不一样,所以需要自己实现,以下给出的时模板代码

    2.9K20

    Android开发笔记(一百七十二)第二代翻页视图ViewPager2

    正如RecyclerView横空出世取代ListView和GridView那样,Android也推出了二代翻页视图ViewPager2,打算替换原来的翻页视图ViewPager。...notifyItem***方法,从而动态刷新某项视图; 3、除了当前页,也支持展示左右两页的部分区域; 4、支持在翻页过程中展示自定义的切换动画; 虽然ViewPager2增加了这么棒的功能,但它用起来非常简单...setPageTransformer:设置二代翻页视图的页面转换器,以便展示切换动画。 接下来利用循环适配器搭配二代翻页视图,演示看看ViewPager2的界面效果。...因为ViewPager2仍然需要适配器,所以先编写每项视图的布局文件,下面便是一个XML布局例子,布局上方是图像视图,下方是文本视图。...撤销刚加的边缘特效代码,再给测试页面的Java代码中补充下面几行:     // ViewPager2支持在翻页时展示切换动画     // 创建页面转换器,用于计算切换动画的各项参数     ViewPager2

    2.3K30

    Android Studio 3.6 发布啦,快来围观

    拆分视图并放大设计编辑器 ? 此版本中包含对视觉设计编辑器的以下更新: 设计编辑器(例如,布局编辑器和导航编辑器)现在提供一个拆分视图 的支持,可以同时查看UI 的设计视图和代码视图。...在编辑器窗口的右上角,现在有三个按钮可用于在查看选项之间切换: 要启用拆分视图,请单击“ 拆分”图标 。 要启用XML源代码视图,请单击Source图标 要启用设计视图,请单击“ 设计”图标 ?...筛选器按钮可以查看来自本地依赖模块,外部库和 Android - 框架的资源也可以使用过滤器显示主题属性。 可以在导入过程中通过在资源上方的文本框中单击来重命名资源。...Android模拟器现在允许将应用程序部署到支持可自定义尺寸的多个显示器,并可以帮助测试支持多窗口和多显示器的应用程序 。...3.在 Secondary displays 菜单中,执行以下一项操作: a.选择一种预设的宽高比 b.选择自定义并为自定义显示设置高度,宽度和dpi。 4.

    9K20

    android开关按钮

    刚开始接触开关样式的按钮是在IOS系统上面,它的切换以及滑动十分帅气,深入人心。 所谓的开关按钮,就是只有2个状态:on和off,下图就是系统IOS 7上开关按钮效果。...,而不带有滑动切换效果,并且Switch控件只支持高版本的系统,对于2.3就不支持。...注意:本文中涉及到自定义控件 并自定义配置属性declare-styleable, 如果你对于自定义控件的自定义配置属性还不是很了解可以看:android 自定义控件 使用declare-styleable...="" /> 这里的     android:textOn=""   表示:选中情况下显示的文本 android:textOff=""   表示:未选中情况下显示的文本 android:checked...由于DEMO中的继承CompoundButton的SwitchButton是使用自定义配置的,所以如果不了解自定义配置的可以看以下文章:android 自定义控件 使用declare-styleable

    4K80

    Android开发 - 样式和主题

    然而,如果你为某个视图控件应用了一个样式,这个样式包含的属性中不是都被支持的,视图控件将会应用那些属性中的可被支持的并且简单的忽略其他的。 一些样式属性,不被支持在视图控件里使用,仅仅能作为主题使用。...比如,如果应用上面提到的CodeFont样式在一个Activity上,这是所有的支持文本样式属性的视图元素将应用它们。一些不支持这些属性的视图元素将忽略它们。...,这里,因为android:windowBackground 属性仅仅支持其他资源的引用,不像 android:colorBackground属性可以指定一个颜色描述文本。...你可以通过自定样式做到,使用“资源选择器"来切换不同的父主题,基于平台版本。 比如,下面是一个自定义样式的声明,这个样式是个简单的标准平台默认的 light theme主题。...里,可以找到一个标准的属性列表供你使用。 关于更多的信息,像比如主题和布局,基于平台版本或者设备配置等切换资源文件选择,你可以阅读 Providing Resources 。

    1.8K10

    Android开发笔记(序)写在前面的目录

    开发笔记(六十五)多样的菜单 Android开发笔记(六十六)自定义对话框 Android开发笔记(一百一十八)自定义悬浮窗 Android开发笔记(一百二十一)列表弹窗PopupMenu和ListPopupWindow...(八十五)手机数据库Realm 第十一章 文件 Android开发笔记(三十二)文件基础操作 Android开发笔记(三十三)文本文件和图片文件的读写 Android开发笔记(三十四)Excel...Android开发笔记(一百三十七)自定义行为Behavior Android开发笔记(一百四十四)高仿支付宝的头部伸缩动画 第三十六章 页面切换 Android开发笔记(一百三十九)可定制可滑动的标签栏...Android开发笔记(三十三)文本文件和图片文件的读写 任务 Runnable Android开发笔记(四十七)Runnable接口实现多线程 线程 Thread Android开发笔记(四十八)Thread...)自定义相册 图像切换器 ImageSwitcher Android开发笔记(一百二十四)自定义相册 调色板 Palette Android开发笔记(一百二十四)自定义相册 卡片视图 CardView

    2.9K40
    领券