自定义属性

<?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相关推荐

  1. Kotlin 自定义View之实现标尺控件(选择身高、体重等)

    本篇文章讲的是Kotlin 自定义view之实现标尺控件Ruler,以选择身高.体重等.开发中,当我们需要获取用户的身高和体重等信息时,如果直接让他们输入,显然体验不够好.像类似于唯品会.好轻等APP ...

  2. kotlin自定义View出现 java.lang.ClassNotFoundException

    问题1:找不到所引用的自定义View Didn't find class "dxf.example.dxf.customviewdemo.MyTextView" on path: ...

  3. Kotlin自定义View之DataBinding

    目录 一.演示数据 二.setXXX()大法 三.@BindingAdapter 未定义setXXX()或@BindingAdapter时常见错误: Kotlin使用DataBinding时难免有自定 ...

  4. kotlin自定义view

    思路: 自定义的view类继承于view类,在xml中赋予它布局属性,在MainActivity中调用xml定义的自己写的view:使用ValueAnimator改变onDraw中绘画的控件的属性,当 ...

  5. Android修行手册之Kotlin - 自定义View的几种写法

    往期文章分享 点击跳转=><导航贴>- Unity手册,系统实战学习 点击跳转=><导航贴>- Android手册,重温移动开发 本文约2.6千字,新手阅读需要4分 ...

  6. kotlin实现的简单个人账户管理APP(三) 自定义View仿支付宝的密码输入框/密码相关逻辑

    转载请注明出处:http://blog.csdn.net/a512337862/article/details/78874322 前言 1.本篇博客相关的项目介绍请参考基于kotlin实现的简单个人账 ...

  7. 【Kotlin】Kotlin 自定义组件 ( 自定义 View | 自定义 SurfaceView )

    文章目录 一.自定义 View 组件 ( Kotlin ) 二.自定义 SurfaceView 组件 ( Kotlin ) 自定义组件构造函数统一在 constructor(context: Cont ...

  8. 初学Kotlin——在自定义View里的应用

    什么是Kotlin Kotlin,它是JetBrains开发的基于JVM的面向对象的语言.2017年的时候被Google推荐Android的官方语言,同时Android studio 3.0正式支持这 ...

  9. 自定义view之kotlin绘制精简小米时间控件

    引言 今天玩小米mix2的时候看到了小米的时间控件效果真的很棒.有各种动画效果,3d触摸效果,然后就想着自己能不能也实现一个这样的时间控件,那就开始行动绘制一个简易版本的小米时间控件吧o((≧▽≦o) ...

最新文章

  1. matlab图像处理命令(二)
  2. socket 读取 所有 数据 java_Java Socket 读取服务器端返回数据
  3. 为什么我的电脑上安装不上python-python安装不上
  4. Spark详解(四):Spark组件以及消息通信原理
  5. 近期“速卖通母婴行业需求暴增”,带你了解母婴行业选品趋势
  6. 经历就是财富——总结我的26岁
  7. 老司机做VR视频,需要什么样的全景相机?
  8. 俄罗斯:自由软件在这里生根
  9. python三引号注释_python使用三引号来注释的具体原因?
  10. Nginx 重写规则指南
  11. Error: ER_ACCESS_DENIED_ERROR: Access denied for user ‘root‘@‘localhost‘ (using password: YES)解决办法
  12. 用幂次变换来增强图像matlab,基于幂次变换及MSR光照不均图像增强.doc
  13. Matlab矩阵大全
  14. JSP-tomcat设置编码格式 配置utf-8(以防网页框以及网页显示的时候中文乱码)
  15. 层次分析法原理及应用案例
  16. roslaunch的.launch文件的标签总结
  17. oracle查询成绩属于什么等级,oracle认证考试成绩查询方法是什么?
  18. 啤酒肚真的是喝啤酒引起的吗?
  19. (详细易懂)一篇文章让你读懂到底什么是Ajax
  20. VS2017中配置QT5.12开发环境

热门文章

  1. session共享学习
  2. 什么 叫 session 共享
  3. 小学语文教学计算机的作用,浅谈多媒体技术在小学语文教学中的作用
  4. c语言折半查找输出坐标,用c语言编写折半查找法
  5. 如何高效做本科毕业答辩幻灯?
  6. mysql5.6 匿名用户登录
  7. mybatis传单个参数报错:There is no getter for property named 'user_id' in 'class java.lang.String
  8. BVT BAT SVT
  9. Unity C# 读取安卓persistentDataPath目录中的json文件
  10. 为什么成功人士都是工具控?10个高效率生产力工具及官方福利