Android自定义华为睡眠,Android自定义View
本文章主要介绍Android系统中,自定义View的开发。
通常用于展示特定的样式,或抽象控件,方便复用。
1.自定义控件的传参
定义declare-styleable,方便从XML布局文件中传入类内部。
文件目录:
res\values\atts.xml
文件内容:
2.自定义类
以EditText为例,展示获取XML中设置的变量
package com.lizheblogs.view;
import android.content.Context;
import android.content.res.Resources;
import android.content.res.TypedArray;
import android.util.AttributeSet;
import androidx.appcompat.widget.AppCompatEditText;
import com.teenysoft.jdxs.R;
public class SupEditText extends AppCompatEditText {
private boolean isFilters = true;
private float emptyTextSize = 12;
private float textSize = 14;
private int errorHintColor;
private float errorTextSize = 14;
private String errorText1;
private String errorText2;
public SupEditText(Context context) {
super(context);
init(context, null);
}
public SupEditText(Context context, AttributeSet attrs) {
super(context, attrs);
init(context, attrs);
}
public SupEditText(Context context, AttributeSet attrs, int defStyleAttr) {
super(context, attrs, defStyleAttr);
init(context, attrs);
}
private void init(Context context, AttributeSet attrs) {
Resources resources = context.getResources();
errorHintColor = resources.getColor(R.color.edit_text_error_text);
if (attrs != null) {
//从xml的属性中获取到字体颜色与string
TypedArray ta = context.obtainStyledAttributes(attrs, R.styleable.SupEditText);
isFilters = ta.getBoolean(R.styleable.SupEditText_isFilters, true);
emptyTextSize = ta.getDimension(R.styleable.SupEditText_emptyTextSize, 12);
textSize = ta.getDimension(R.styleable.SupEditText_textSize, 14);
errorHintColor = ta.getColor(R.styleable.SupEditText_errorHintColor,
errorHintColor);
errorTextSize = ta.getDimension(R.styleable.SupEditText_errorTextSize, 14);
errorText1 = ta.getString(R.styleable.SupEditText_errorText1);
errorText2 = ta.getString(R.styleable.SupEditText_errorText2);
ta.recycle();
}
}
}
这样就可以通过XML中的设置,来改变控件的样式。
3.XML布局
在XML布局中设置变量的值。
以EditText为例,展示XML中设置变量
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:ts="http://schemas.android.com/apk/res-auto"
android:id="@+id/userNameET"
android:layout_width="match_parent"
android:layout_height="match_parent"
ts:emptyTextSize="12sp"
ts:errorHintColor="@color/edit_text_error_text"
ts:errorText1="@string/input_user_name_please"
ts:errorTextSize="14sp"
ts:isFilters="true"
ts:textSize="14sp" />
ts为空间名,可随意。
大功告成!
Android自定义华为睡眠,Android自定义View相关推荐
- Android自定义华为睡眠,Android 模仿华为健康自定义 计步View
通过一个简单的自定义的View,模仿华为健康里面消耗热量和计步的圆弧View,来深入的理解RectF以及 canvas的drawArc方法. 华为健康的View是这样的: 最近写了一些自定义的view ...
- 华为mate9 android p,华为Mate10 Android P运行crash
华为Mate10 Android P未发布的系统, patch合成成功,但app重启后运行crash,堆栈在最下面 异常类型:app运行时异常 手机型号:华为Mate 10 手机系统版本:Androi ...
- android小球移动代码,Android自定义圆形View实现小球跟随手指移动效果
本文实例为大家分享了Android实现小球跟随手指移动效果的具体代码,供大家参考,具体内容如下 一. 需求功能 手指在屏幕上滑动,红色的小球始终跟随手指移动. 实现的思路: 1)自定义View,在on ...
- android 画布实现签名,Android 自定义View手写签名并保存图片
1.自定义View--支撑设置画笔色彩,画笔宽度,画板色彩,铲除画板,查看是否有签名,保存画板图片(仿制粘贴可直接使用) /***CreatedbyYyyyQon2020/3/5. *电子签名*/pu ...
- android canvas绘制圆角_Android自定义View撸一个渐变的温度指示器(TmepView)
秦子帅明确目标,每天进步一点点..... 作者 | andy 地址 | blog.csdn.net/Andy_l1/article/details/82910061 1.概述 自定义View对需要 ...
- 我的Android进阶之旅------Android自定义View来实现解析lrc歌词并同步滚动、上下拖动、缩放歌词的功能...
前言 一LRC歌词文件简介 1什么是LRC歌词文件 2LRC歌词文件的格式 LRC歌词文件的标签类型 1标识标签 2时间标签 二解析LRC歌词 1读取出歌词文件 2解析得到的歌词内容 1表示每行歌词内 ...
- Android中实现Bitmap在自定义View中的放大与拖动
一基本实现思路: 基于View类实现自定义View –MyImageView类.在使用View的Activity类中完成OnTouchListener接口,实现对MotionEvent事件的监听与处理 ...
- Android之在Layout中自定义View
在Layout中自定义View 经常会看到在XML文件中调用别人的View就可以显示出各种奇妙的页面 简单的学习了一下,下面说一下如何自定义一个View, 并设置背景色 // 第一步,创建一个继承自V ...
- android 单选框 icon,Android中的普通对话框、单选对话框、多选对话框、带Icon的对话框、以及自定义Adapter和自定义View对话框详解...
标签: 对话框就是一个AlertDialog,但是一个简单的AlertDialog,我们却可以将它玩出许多花样来,下面我们就来一起总结一下AlertDialog的用法.看看各位童鞋在平时的工作中否都用 ...
- android自定义控件中文乱码,Android笔记--自定义View之组合控件
Android-自定义View 分享是最好的记忆-- 如需转发请注明出处 [强调]:共同学习 共同进步 不喜勿喷 内容简介 前言 实现 总结 1. 前言 这次更新有2个目的 1. 复用控件,而不是每次 ...
最新文章
- Java项目:酒店管理系统(java+Springboot+Mybatis+Beetl+Layui)
- 2019年汽车行业深度投资研究
- AppStore IPv6-only审核被拒原因分析及解决方案-b
- 灰色简约三级CSS下拉菜单代码
- c++学习笔记之类的应用
- pat天梯赛L1-052. 2018我们要赢
- C++ 字符串指针和字符串指针数组详解
- 【飞秋】Asp.net MVC2 model验证 看似美好,实则让人失望。
- 爬虫-代理的质量控制
- 计算机二级科目有ps吗,计算机二级有ps吗
- cassandra vs mongo (1)存储引擎
- python爬取妹子图(复制即可用)
- 关于数据清洗的步骤及方法的理解
- Bing搜索没法用的解决办法(附Google和edge的详细解决步骤)
- 计算机网络网关设置路由器,天翼网关(宽带)怎么连接路由器?
- git操作与vscode,码市的结合
- 全球域名商域名增量Top15:51DNS排名降至第十二
- 计算机网络技术用苹果电脑,苹果电脑的硬盘能接到PC机上用吗?能用硬盘 – 手机爱问...
- HDU-6578 Blank(DP)2019暑假杭电多校第一场
- Java工具类cntool