Kotlin 自定义 View
自定义属性
<?xml version="1.0" encoding="utf-8"?>
<resources><declare-styleable name="CustomPagerTab"><attr name="textColor" format="color"/><attr name="textSize" format="dimension"/></declare-styleable>
</resources>
创建自定义View,并解析属性
自定义视图要在类名后面增加 @JvmOverloads constructor 因为布局文件中的自定义视图必须兼容Java
class CustomPagerTab @JvmOverloads constructor(context: Context, attributeSet: AttributeSet? = null,defStyleAttr: Int = 0) :PagerTabStrip(context,attributeSet) {private var textColor = Color.Blackprivate var textSize = 15init {if (attributeSet!=null){// 解析自定义属性val typedArray:TypedArray = context.obtainStyledAttributes(attributeSet, R.styleable.CustomPagerTab)textColor = typedArray.getColor(R.styleable.CustomPagerTab_textColor,textColor)textSize = typedArray.getDimensionPixelSize(R.styleable.CustomPagerTab_textSize,textSize)typedArray.recycle()}// 设置属性setTextColor(textColor)setTextSize(TypedValue.COMPLEX_UNIT_SP,textSize)}
}
布局中应用自定义属性
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"xmlns:app="http://schemas.android.com/apk/res-auto"android:orientation="vertical"android:layout_width="match_parent"android:layout_height="match_parent"><androidx.viewpager2.widget.ViewPager2android:layout_width="match_parent"android:layout_height="wrap_content"><com.cniao5.common.widget.CustomPagerTabapp:textColor="@color/colorPrimary"app:textSize="16sp"android:layout_width="match_parent"android:layout_height="wrap_content"/></androidx.viewpager2.widget.ViewPager2>
</LinearLayout>
Kotlin 自定义 View相关推荐
- Kotlin 自定义View之实现标尺控件(选择身高、体重等)
本篇文章讲的是Kotlin 自定义view之实现标尺控件Ruler,以选择身高.体重等.开发中,当我们需要获取用户的身高和体重等信息时,如果直接让他们输入,显然体验不够好.像类似于唯品会.好轻等APP ...
- kotlin自定义View出现 java.lang.ClassNotFoundException
问题1:找不到所引用的自定义View Didn't find class "dxf.example.dxf.customviewdemo.MyTextView" on path: ...
- Kotlin自定义View之DataBinding
目录 一.演示数据 二.setXXX()大法 三.@BindingAdapter 未定义setXXX()或@BindingAdapter时常见错误: Kotlin使用DataBinding时难免有自定 ...
- kotlin自定义view
思路: 自定义的view类继承于view类,在xml中赋予它布局属性,在MainActivity中调用xml定义的自己写的view:使用ValueAnimator改变onDraw中绘画的控件的属性,当 ...
- Android修行手册之Kotlin - 自定义View的几种写法
往期文章分享 点击跳转=><导航贴>- Unity手册,系统实战学习 点击跳转=><导航贴>- Android手册,重温移动开发 本文约2.6千字,新手阅读需要4分 ...
- kotlin实现的简单个人账户管理APP(三) 自定义View仿支付宝的密码输入框/密码相关逻辑
转载请注明出处:http://blog.csdn.net/a512337862/article/details/78874322 前言 1.本篇博客相关的项目介绍请参考基于kotlin实现的简单个人账 ...
- 【Kotlin】Kotlin 自定义组件 ( 自定义 View | 自定义 SurfaceView )
文章目录 一.自定义 View 组件 ( Kotlin ) 二.自定义 SurfaceView 组件 ( Kotlin ) 自定义组件构造函数统一在 constructor(context: Cont ...
- 初学Kotlin——在自定义View里的应用
什么是Kotlin Kotlin,它是JetBrains开发的基于JVM的面向对象的语言.2017年的时候被Google推荐Android的官方语言,同时Android studio 3.0正式支持这 ...
- 自定义view之kotlin绘制精简小米时间控件
引言 今天玩小米mix2的时候看到了小米的时间控件效果真的很棒.有各种动画效果,3d触摸效果,然后就想着自己能不能也实现一个这样的时间控件,那就开始行动绘制一个简易版本的小米时间控件吧o((≧▽≦o) ...
最新文章
- matlab图像处理命令(二)
- socket 读取 所有 数据 java_Java Socket 读取服务器端返回数据
- 为什么我的电脑上安装不上python-python安装不上
- Spark详解(四):Spark组件以及消息通信原理
- 近期“速卖通母婴行业需求暴增”,带你了解母婴行业选品趋势
- 经历就是财富——总结我的26岁
- 老司机做VR视频,需要什么样的全景相机?
- 俄罗斯:自由软件在这里生根
- python三引号注释_python使用三引号来注释的具体原因?
- Nginx 重写规则指南
- Error: ER_ACCESS_DENIED_ERROR: Access denied for user ‘root‘@‘localhost‘ (using password: YES)解决办法
- 用幂次变换来增强图像matlab,基于幂次变换及MSR光照不均图像增强.doc
- Matlab矩阵大全
- JSP-tomcat设置编码格式 配置utf-8(以防网页框以及网页显示的时候中文乱码)
- 层次分析法原理及应用案例
- roslaunch的.launch文件的标签总结
- oracle查询成绩属于什么等级,oracle认证考试成绩查询方法是什么?
- 啤酒肚真的是喝啤酒引起的吗?
- (详细易懂)一篇文章让你读懂到底什么是Ajax
- VS2017中配置QT5.12开发环境
热门文章
- session共享学习
- 什么 叫 session 共享
- 小学语文教学计算机的作用,浅谈多媒体技术在小学语文教学中的作用
- c语言折半查找输出坐标,用c语言编写折半查找法
- 如何高效做本科毕业答辩幻灯?
- mysql5.6 匿名用户登录
- mybatis传单个参数报错:There is no getter for property named 'user_id' in 'class java.lang.String
- BVT BAT SVT
- Unity C# 读取安卓persistentDataPath目录中的json文件
- 为什么成功人士都是工具控?10个高效率生产力工具及官方福利