代码拉取完成,页面将自动刷新
自定义View合集,开启自定义View的神奇之旅.
直线形验证码 | 方形验证码 |
---|---|
![]() |
![]() |
属性名称 | 类型 | 说明 |
---|---|---|
codeLength | integer | 验证码总个数,默认为6 |
codeWidth | dimension | 每个验证码的宽度,默认为150px,高度和宽度相同,仅当android:layout_width="wrap_parent"时起作用,当 android:layout_width="match_parent"时每一个验证码的宽度由动态计算获取,其值为(控件总宽度-(验证码总个数-1)*验证码之间的间隔)/验证码总个数 |
codeMargin | dimension | 验证码之间的间隔,默认为20px |
codeBackground | reference | 每个验证码的背景,必须项 |
codeCursorVisible | boolean | 是否显示光标,默认为false,即不显示光标 |
codeCursorDrawable | reference | 光标背景,仅当codeCursorVisible为true起作用,默认为颜色值为colorAccent,宽度为1dp的GradientDrawable |
<com.github.kongpf8848.viewworld.views.VerificationCodeEditText
android:id="@+id/et_verification_code"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginStart="40dp"
android:layout_marginTop="50dp"
android:layout_marginEnd="40dp"
android:cursorVisible="true"
android:inputType="number"
android:singleLine="true"
android:textColor="@color/black"
android:textSize="40sp"
app:codeBackground="@drawable/bg_code_edit_line"
app:codeCursorDrawable="@drawable/bg_code_edit_cursor"
app:codeCursorVisible="true"
app:codeLength="4"
app:codeMargin="10dp" />
app:codeBackground定义每个验证码的背景,其中android:state_selected="true"
为选中状态下的背景,如:
<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:state_selected="true">
<layer-list>
<item android:gravity="bottom">
<shape>
<solid android:color="#FFDE00" />
<size android:height="2dp" />
</shape>
</item>
</layer-list>
</item>
<item>
<layer-list>
<item android:gravity="bottom">
<shape>
<solid android:color="#f4f4f4" />
<size android:height="2dp" />
</shape>
</item>
</layer-list>
</item>
</selector>
app:codeCursorDrawable定义光标颜色,如:
<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android">
<solid android:color="#FFDE00" />
<size android:width="2dp" />
</shape>
<com.github.kongpf8848.viewworld.views.VerificationCodeEditText
android:id="@+id/et_verification_code"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginStart="40dp"
android:layout_marginEnd="40dp"
android:layout_marginTop="50dp"
android:inputType="number"
android:singleLine="true"
android:textSize="20sp"
android:textColor="@color/black"
app:codeBackground="@drawable/bg_code_edit_square"
app:codeLength="6"
app:codeMargin="10dp"
app:codeCursorVisible="true"
app:codeCursorDrawable="@drawable/bg_code_edit_cursor"
/>
app:codeBackground定义每个验证码的背景,其中android:state_selected="true"
为选中状态下的背景,如:
<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:state_selected="true">
<shape>
<stroke android:width="2dp" android:color="#FFFB9C00" />
<corners android:radius="4dp" />
</shape>
</item>
<item>
<shape>
<stroke android:width="2dp" android:color="#EEEEEE" />
<corners android:radius="4dp" />
</shape>
</item>
</selector>
app:codeCursorDrawable定义光标颜色,如:
<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android">
<solid android:color="#FFDE00" />
<size android:width="2dp" />
</shape>
TabLayout原有的属性基本都支持,此处仅列出新添加的属性
属性名称 | 类型 | 说明 |
---|---|---|
tabUnSelectedTextSize | dimension | 未选中字体大小 |
tabSelectedTextSize | dimension | 选中字体大小 |
tabBoldWhenSelected | boolean | 选中字体是否加粗 |
tabBackgroundIsCorner | boolean | 是否使用圆角背景 |
tabSlideAnimType | enum | 跳跃动画样式,none表示不启用跳跃动画,half_glue表示启用跳跃动画1,glue表示启用跳跃动画2 |
TabLayoutEx和原生TabLayout功能相同但名字有修改的属性
<com.github.kongpf8848.viewworld.views.TabLayoutEx
android:id="@+id/tab_layout"
android:layout_width="match_parent"
android:layout_height="50dp"
android:layout_marginTop="10dp"
android:background="@color/white"
<!--每个TabView的左边距-->
app:tabPaddingStart="10dp"
<!--每个TabView的右边距-->
app:tabPaddingEnd="10dp"
<!--SlidingTabIndicator的左边距,其值=app:tabPaddingStart+实际的左边距-->
app:tabContentStart="25dp"
<!--tab模式,scrollable或fixed-->
app:tabModeEx="scrollable"
<!--指示符和TabView宽度是否相同-->
app:tabIndicatorFullWidth="true"
<!--指示符高度-->
app:tabIndicatorHeight="32dp"
<!--未选中文字颜色-->
app:tabTextColor="#999999"
<!--选中文字颜色-->
app:tabSelectedTextColor="@color/black"
<!--点击波纹颜色,透明即去除波纹-->
app:tabRippleColor="@color/transparent"
<!--未选中文字大小-->
app:tabUnSelectedTextSize="14sp"
<!--选中文字大小-->
app:tabSelectedTextSize="16sp"
<!--是否为圆角背景-->
app:tabBackgroundIsCorner="true"
<!--选中字体是否加粗-->
app:tabBoldWhenSelected="true"
/>
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。