Android 开发 View的API 转载
转载地址:https://blog.csdn.net/lemonrabbit1987/article/details/47704679
View类代表用户界面组件的基本构建块。一个View占据屏幕上的一块方形区域,负责该区域的绘图或事件处理。View类是用来创建交互式UI界面的所有部件的基类。
一个窗口的所有View以树形的方式组织。可以通过代码创建和组装View的方式或者通过编写一个或多个XML布局文件的方式搭建View树。View的具体子类可以作为控件或者显示文本、图像或者其他内容。
一旦创建好了View树,可以根据需要执行一下几类共同的操作:
- 设置属性。例如为一个
TextView设置文本属性。除了View定义的属性和方法外,View不同子类具有一些特有的属性和方法。注意:在构建View树时已知的属性可以在XML布局文件中设置。 - 设置焦点。
Android系统会根据用户输入移动焦点。利用requestFocus方法,强制将焦点置于某个特定的视图。 - 设置
listener。允许为View设置一些listener,这样可以在某些感兴趣的事件发生时获得通知。例如所有的View都可以使用setOnFocusChangeListener(android.view.View.OnFocusChangeListener)设置一个用以跟踪该View获得焦点或失去焦点的listener。其他View子类提供了特有的listener。例如一个Button可以设置一个监测是否被点击的listener. - 设置可视化。可以通过
setVisibility(int)方法设置显示或隐藏View.
View的XML属性
| 属性名称 | 相关方法 | 描述 |
|---|---|---|
android:accessibilityLiveRegion |
setAccessibilityLiveRegion(int) |
指示无障碍服务当View改变时是否通知用户 |
android:alpha |
setAlpha(float) |
View的alpha透明度属性,从0(完全透明)到1(不透明) |
android:background |
setBackgroundResource(int) |
一个作为背景的drawable元素 |
android:clickable |
setClickable(boolean) |
定义这个View是否响应单击事件 |
android:clickable |
setClickable(boolean) |
定义这个View是否响应单击事件 |
android:contentDescription |
setContentDescription(CharSequence) |
定义简单描述View内容的文本,通常用于提供无障碍支持 |
android:drawingCacheQuality |
setDrawingCacheQuality(int) |
定义透明绘画缓冲的质量 |
android:duplicateParentState |
这个属性设置为true,则该View由它的直接父类获得绘制状态(焦点、按下)而不是它自身 | |
android:fadeScrollbars |
setScrollbarFadingEnabled(boolean) |
定义当滚动条无用时是否渐隐 |
android:fadingEdgeLength |
getVerticalFadingEdgeLength() |
设置View上下黑色阴影边的长度 |
android:filterTouchesWhenObscured |
setFilterTouchesWhenObscured(boolean) |
指定当该View的窗口被其他可见的窗口遮挡时是否过滤触摸事件 |
android:fitsSystemWindows |
setFitsSystemWindows(boolean) |
是否根据系统窗口例如状态栏调整View布局 |
android:focusable |
setFocusable(boolean) |
设置该View是否可以获得焦点 |
android:focusableInTouchMode |
setFocusableInTouchMode(boolean) |
设置在触摸模式下该View是否可以获得焦点 |
android:hapticFeedbackEnabled |
setHapticFeedbackEnabled(boolean) |
设置View是否有触觉的反馈(长按等事件支持) |
android:id |
setId(int) |
为该View指定一个标识名称,支持通过view.findViewById()或Activity.findViewById()方法获取该View |
android:importantForAccessibility |
setImportantForAccessibility(int) |
指定该View对无障碍支持的重要度 |
android:isScrollContainer |
setScrollContainer(boolean) |
指定该View是否作为一个可滚动的容器,支持可以通过改变大小收缩整个窗口以为输入法腾出空间 |
android:keepScreenOn |
setKeepScreenOn(boolean) |
指定是否该View的窗口在可见的时候总使屏幕常亮 |
android:layerType |
setLayerType(int,Paint) |
指定在该View背后的层次类型(软件或硬件层) |
android:layoutDirection |
setLayoutDirection(int) |
指定布局绘制的方向(左到右,右到左等) |
android:longClickable |
setLongClickable(boolean) |
指定该View是否响应长按事件 |
android:minHeight |
setMinimumHeight(int) |
设定该View的最小高度 |
android:minWidth |
setMinimumWidth(int) |
设定该View的最小宽度 |
android:nextFocusDown |
setNextFocusDownId(int) |
当下一个焦点为FOCUS_DOWN时,定义获得焦点的下一个View。如果指定的View不存在或不可见,则报RuntimeException异常 |
android:nextFocusForward |
setNextFocusForwardId(int) |
当下一个焦点为FOCUS_FORWARD时,定义获得焦点的下一个View。如果指定的View不存在或不可见,则报RuntimeException异常 |
android:nextFocusLeft |
setNextFocusLeftId(int) |
当下一个焦点为FOCUS_LEFT时,定义获得焦点的下一个View。 |
android:nextFocusRight |
setNextFocusRightId(int) |
当下一个焦点为FOCUS_RIGHT时,定义获得焦点的下一个View。如果指定的View不存在或不可见,则报RuntimeException异常 |
android:nextFocusUp |
setNextFocusUpId(int) |
当下一个焦点为FOCUS_UP时,定义获得焦点的下一个View。如果指定的View不存在或不可见,则报RuntimeException异常 |
android:onClick |
当该View被单击时触发的方法名称 |
|
android:padding |
setPaddingRelative(int,int,int,int) |
以像素值设置四条边的填充(View的边界和内容之间的空间) |
android:paddingBottom |
setPaddingRelative(int,int,int,int) |
以像素值设置底边的填充 |
android:paddingEnd |
setPaddingRelative(int,int,int,int) |
以像素值设置右边的填充 |
android:paddingLeft |
setPadding(int,int,int,int) |
以像素值设置左边的填充 |
android:paddingRight |
setPadding(int,int,int,int) |
以像素值设置右边的填充 |
android:paddingStart |
setPaddingRelative(int,int,int,int) |
以像素值设置左边的填充 |
android:paddingTop |
setPaddingRelative(int,int,int,int) |
以像素值设置顶边的填充 |
android:requiresFadingEdge |
setVerticalFadingEdgeEnabled(boolean) |
定义在滚动时哪个边应该被有阴影 |
android:rotation |
setRotation(float) |
View的旋转,以度为单位 |
android:rotationX |
setRotationX(float) |
View沿x轴的旋转,以度为单位 |
android:rotationY |
setRotationY(float) |
View沿y轴的旋转,以度为单位 |
android:saveEnabled |
setSaveEnabled(boolean) |
若为false,则冻结后该View的所有状态都不会保存 |
android:scaleX |
setScaleX(float) |
View沿x轴的缩放 |
android:scaleY |
setScaleY(float) |
View沿y轴的缩放 |
android:scrollX |
初始水平滚动偏移量,单位像素 | |
android:scrollY |
初始竖直滚动偏移量,单位像素 | |
android:scrollbarAlwaysDrawHorizontalTrack |
指定水平滚动条是否一直显示 | |
android:scrollbarAlwaysDrawVerticalTrack |
指定竖直滚动条是否一直显示 | |
android:scrollbarDefaultDelayBeforeFade |
setScrollBarDefaultDelayBeforeFade(int) |
设置滚动条等待隐藏的时间,单位毫秒 |
android:scrollbarFadeDuration |
setScrollBarFadeDuration(int) |
设置滚动条隐藏的时间,单位毫秒 |
android:scrollbarSize |
setScrollBarSize(int) |
设置竖直滚动条的宽度和水平滚动条的高度 |
android:scrollbarStyle |
setScrollBarStyle(int) |
设置滚动条的样式和位置 |
android:scrollbarThumbHorizontal |
设置水平滚动条的Thumb的drawable元素 |
|
android:scrollbarThumbVertical |
设置竖直滚动条的Thumb的drawable`元素 |
|
android:scrollbarTrackHorizontal |
设置水平滚动条的轨道的drawable元素 |
|
android:scrollbarTrackVertical |
设置竖直滚动条的轨道的drawable元素 |
|
android:scrollbars |
指定哪些滚动条应该显示 | |
android:soundEffectsEnabled |
setSoundEffectsEnabled(boolean) |
指定View是否开启点击或触摸等特殊事件的声音效果 |
android:tag |
为该View提供一个标记,通过View.getTag()或View.findViewwithTag()方法获得该View |
|
android:textAlignment |
setTextAlignment(int) |
定义文本的对齐 |
android:textDirection |
setTextDirection(int) |
定义文本的方向 |
android:transformPivotX |
setPivotX(float) |
旋转或缩放依赖的坐标轴点的x坐标 |
android:transformPivotY |
setPivotX(float) |
旋转或缩放依赖的坐标轴点的y坐标 |
android:translationX |
setTranslationX(float) |
该View在x方向上的移动 |
android:translationY |
setTranslationY(float) |
该View在y方向上的移动 |
android:visibility |
setVisibility(int) |
设置该View初始的可见性 |
View类可以设置的listener
listener类 |
设置方法 | 描述 |
|---|---|---|
View.OnApplyWindowInsetsListener |
setOnApplyWindowInsetsListener |
接管该View的Windows Insets应用策略 |
View.OnClickListener |
setOnClickListener |
当该View被点击时触发的回调 |
View.OnCreateContextMenuListener |
setOnCreateContextMenuListener |
当该View的上下文菜单正被构建时触发的回调 |
View.OnDragListener |
setOnDragListener |
当该View接收到Drag事件时触发的回调 |
View.OnFocusChangeListener |
setOnFocusChangeListener |
当该View焦点变化时触发的回调 |
View.OnGenericMotionListener |
setOnGenericMotionListener |
当该View接收到一般的移动事件时触发的回调 |
View.OnKeyListener |
setOnKeyListener |
当该View下硬件键盘被按下时触发的回调 |
View.OnLongClickListener |
setOnLongClickListener |
当该View被按下并长期保持时触发的回调 |
View.OnSystemUiVisibilityChangeListener |
setOnSystemUiVisibilityChangeListener |
当系统工具条的可见性改变时触发的回调 |
View.OnTouchListener |
setOnTouchListener |
当该View接收到touch事件时触发的回调 |
Android 开发 View的API 转载的更多相关文章
- android 开发 View _1_ View的子类们 和 视图坐标系图
目录: android 开发 View _2_ View的属性动画ObjectAnimator ,动画效果一览 android 开发 View _3_ View的属性动画ValueAnimator a ...
- Android开发——View滑动的三种实现方式
0. 前言 Android开发中,我们常常需要View滑动实现一些绚丽的效果来优化用户体验.一般View的滑动可以用三种方式实现. 转载请注明出处:http://blog.csdn.net/seu ...
- Android开发——View滑动冲突解决方案
0. 前言 我们在Android开发--事件分发机制详解中深入学习了事件分发机制,为我们解决Android开发中的滑动冲突问题做了初步准备.针对滑动冲突这里给出两种解决方案:外部拦截法和内部拦截法 ...
- Android 开发 HandlerThread详解 转载
转载请注明出处:http://blog.csdn.net/vnanyesheshou/article/details/75073307 对于Handler不太懂的可以参考我的这两篇文章: Androi ...
- android 开发 View _2_ View的属性动画ObjectAnimator ,动画效果一览
支持:https://www.cnblogs.com/whoislcj/p/5738478.html translationX的效果: protected void onCreate(Bundle s ...
- android 开发 View _14 MotionEvent和事件处理详解,与实践自定义滑动条View
转载https://blog.csdn.net/huaxun66/article/details/52352469 MotionEvent MotionEvent对象是与用户触摸相关的时间序列,该序列 ...
- android 开发 View _11_ xml动画
请大家尊重原创者版权,转载请标明出处:http://blog.csdn.net/harvic880925/article/details/39996643 谢谢! 一.概述 Android的anima ...
- android 开发 View _10_ Path之基本操作
转载地址:http://www.gcssloop.com/customview/Path_Basic/ 安卓自定义View进阶-Path之基本操作 在上一篇Canvas之图片文字中我们了解了如何使用C ...
- Android开发——View绘制过程源码解析(二)
0. 前言 View的绘制流程从ViewRoot的performTraversals开始,经过measure,layout,draw三个流程,之后就可以在屏幕上看到View了.上一篇已经介绍了Vi ...
随机推荐
- axios 重复点击利用CancelToken阻止请求多次发送
import axios from 'axios'; axios.defaults.timeout = 5000; axios.defaults.baseURL =''; let pending = ...
- React Lifecycle
React Lifecycle 分为三种: 初始化阶段 状态的更新 销毁 实例化: ReactDom.render 用于将模板转换成HTML语言,并插入DOM节点. 1.getDefaultProps ...
- 使用delimiter //,解决mysql end报错问题
这是我的初始报错的代码: )) begin select sc.* from sc where sno= student_no end; 会报这个错误,“Error Code: 1064. You h ...
- hello1实例的分析
JSF简介一. 什么是 JSF:JavaServer Faces (JSF) 是一种用于构建 Web 应用程序的新标准 Java 框架.它提供了一种以组件为中心来开发 Java Web 用户界面的方法 ...
- java-多线程(上)
###24.01_多线程(多线程的引入)(了解) * 1.什么是线程 * 线程是程序执行的一条路径, 一个进程中可以包含多条线程 * 多线程并发执行可以提高程序的效率, 可以同时完成多 ...
- for和for in区别
for ... in 循环中的代买每执行一次,就会对数组的元素或者对象的属性进行一次循环操作. eg:应该用在非数组对象的遍历上,使用for-in进行循环也被称为“枚举”. for (变量 in 对象 ...
- ue4 StringTable
StringTable 用法很简单可以参考 https://blog.csdn.net/u012801153/article/details/80393531 这里只说说上面文章中没提到的小技巧 T ...
- 为什么使用消息队列? 消息队列有什么优点和缺点? Kafka、ActiveMQ、RabbitMQ、RocketMQ 都有什么区别,以及适合哪些场景?
https://blog.csdn.net/Iperishing/article/details/86674084
- java自动更新问题
第一次运行公司erp,打开的是jnlp文件,在弹出的第一个框上,同事点了更新java,后面悲剧了,再也没有办法打开erp了,直接跳到java官网上要求更新,而erp在java8上有一些功能不兼容,所以 ...
- idea jdk版本问题
问题描述: Information:Using javac 1.6.0_43 to compile java sourcesInformation:java: Errors occurred whil ...