自定义控件与Handler


自定义控件与Handler_第1张图片

要用到长度和宽度计算的时候尽量以dp为单位,因为每个手机的分辨率不同导致手机的像素点就不同。

android:textSize="18sp"(文字大小)

android:gravity=""(文字的位置)

android:textColor="@color/"(定义文字的颜色)

android:background="@color/"(背景颜色)


自定义控件与Handler_第2张图片

LayoutInflater layoutInflater = getLayoutlnflater();

LayoutInflater layoutInflater =getSystemService(LAYOUT_INFLATER_SERVICE);

getSystemService是一个对象,要进行强制类型转换。

LayoutInflater layoutInflater =Layoutlnflater.from(context);(括号里面传项目,例如:MainActivity.this)

View view = LayoutInflater layoutInflater.inflate(R.layout.activity_main,null);(相当于读取这个View视图,读取了这个视图就可以在下面找到视图里的任何项)


自定义控件与Handler_第3张图片


自定义控件与Handler_第4张图片

Style:下面定义了一个背景颜色

自定义控件与Handler_第5张图片
自定义控件与Handler_第6张图片
自定义控件与Handler_第7张图片


自定义控件与Handler_第8张图片
设置view的流程


自定义控件与Handler_第9张图片
自定义控件与Handler_第10张图片
自定义控件与Handler_第11张图片
通过view来实现自己的自定义控件


自定义控件与Handler_第12张图片


自定义控件与Handler_第13张图片
自定义控件与Handler_第14张图片
自定义控件与Handler_第15张图片


Handler类介绍

主要作用有两个:

在新启动的线程中发送消息。

在主线程中获取、处理消息。

Handler类包含如下方法用于发送、处理消息。

void handleMessage(Message msg):处理消息的方法。

final boolean hasMessage(int what):检查消息对立中是否包含what属性为指定值的消息。

final boolean hanMessages(int what,Object object):检查消息队列中是否包含what属性为指定值且object属性为指定对象的消息。

多个重载的Message obtainMessage():获取消息。

sendEmptyMessage(int what):发送空消息。

final boolean sendMessage(Message msg):立即发送消息。

你可能感兴趣的:(自定义控件与Handler)