View的xml属性
android:background
背景
android:clickable
是否响应点击事件
android:contentDescription
view的简要描述
android:drawingCacheQuality
绘制缓存的质量,绘制缓存其实就是一个bitmap。默认是ARGB_8888(即:rgb + alpha各用8位),减少其质量可以降低内存占用
android:duplicateParentState
android:fadingEdge
在view滚动时,是否淡出相应的边界。vertical淡出上下的边界,horizontal淡出左右的边界,none无淡出边界
android:fadingEdgeLength
淡出边界的长度
android:filterTouchesWhenObscured
view所在窗口被其它可见窗口遮住时,是否过滤触摸事件。
android:fitsSystemWindows
调整基于系统窗口的view布局,如status bar就是基于系统窗口的。
android:focusable
是否可获得焦点
android:focusableInTouchMode
在触摸时,是否可获得焦点
android:hapticFeedbackEnabled
是否启用触摸反馈,启用后就是在点击等操作时会有震动等反馈效果。
android:id
id标识
android:isScrollContainer
是否将view作为滚动容器。能够调整它所在窗口的大小,以便为输入法窗口腾出空间。不过该属性不知道怎么用,好像activity默认就是这么处理的。
android:keepScreenOn
view所在的窗口可见时,保持屏幕打开。
android:longClickable
是否响应长点击事件
android:minHeight
view的最小高度
android:minWidth
view的最小宽度
android:nextFocusDown
向下移动焦点时,下一个获取焦点的view的id
android:nextFocusLeft
向左移动焦点时,下一个获取焦点的view的id
android:nextFocusRight
向右移动焦点时,下一个获取焦点的view的id
android:nextFocusUp
向上移动焦点时,下一个获取焦点的view的id
android:onClick
点击时,要调用的方法的名称。就是OnClickListener,系统将该调用转发到了我们这边指定的方法。方法要public void xxx(View view),否则会抛找不到方法的异常
android:padding
设置上下左右的边距
android:paddingBottom
下边距
android:paddingLeft
左边距
android:paddingRight
右边距
android:paddingTop
上边距
android:saveEnabled
在配置改变等情况出现时是否保存view的状态数据。如果你的view有id,那默认系统就会帮你保存。
android:scrollX
x方向的滚动偏移。即在水平方向滚动了多少距离
android:scrollY
y方向的滚动偏移。即在垂直方向滚动了多少距离
android:scrollbarAlwaysDrawHorizontalTrack
总是绘制水平滚动条的滚动轨道
android:scrollbarAlwaysDrawVerticalTrack
总是绘制垂直滚动条的滚动轨道
android:scrollbarDefaultDelayBeforeFade
滚动条在n毫秒后开始淡出。(毫秒)
android:scrollbarFadeDuration
滚动条用多长时间淡出完毕。(毫秒)
android:scrollbarSize
垂直滚动条的宽度、水平滚动条的高度
android:scrollbarStyle
滚动条的风格。insideOverlay内贴图、insideInset内插图;outsideOverlay外贴图、outsideInset外插图;
inside就是滚动条在绘制在padding以内;outside就是不需要绘制在padding内(即view的边界处)
Overlay是贴图,就是直接覆盖在内容的上方,这样内容可能会显示到滚动条下方去;Inset是插图,就是会在对应padding上加上滚动条的宽度,以不让内容显示到滚动条下面去。
java code
public void setPadding(int left, int top, int right, int bottom) {
boolean changed = false;
mUserPaddingRight = right;
mUserPaddingBottom = bottom;
final int viewFlags = mViewFlags;
// Common case is there are no scroll bars.
/* android中用一个int变量的各个bit来标识view的一些属性
* 如这里就是用SCROLLBARS_VERTICAL(0x00000200)来标识有垂直滚动条
*/
// 存在垂直或水平滚动条时
if ((viewFlags & (SCROLLBARS_VERTICAL|SCROLLBARS_HORIZONTAL)) != 0) {
// TODO: Deal with RTL languages to adjust left padding instead of right.
// 存在垂直滚动条
if ((viewFlags & SCROLLBARS_VERTICAL) != 0) {
// overlay时,右padding加0;inset时,右padding加上滚动条宽度
right += (viewFlags & SCROLLBARS_INSET_MASK) == 0
? 0 : getVerticalScrollbarWidth();
}
// 存在水平滚动条。不过是不是代码写错了啊,应该是!= 0啊
if ((viewFlags & SCROLLBARS_HORIZONTAL) == 0) {
bottom += (viewFlags & SCROLLBARS_INSET_MASK) == 0
? 0 : getHorizontalScrollbarHeight();
}
}
// 与原来的不同才要重新设置
if (mPaddingLeft != left) {
changed = true;
mPaddingLeft = left;
}
if (mPaddingTop != top) {
changed = true;
mPaddingTop = top;
}
if (mPaddingRight != right) {
changed = true;
mPaddingRight = right;
}
if (mPaddingBottom != bottom) {
changed = true;
mPaddingBottom = bottom;
}
if (changed) {
requestLayout();
}
}
android:scrollbarThumbHorizontal
水平滚动块的图片
android:scrollbarThumbVertical
垂直滚动块的图片
android:scrollbarTrackHorizontal
水平滚动条滚动轨道的图片
android:scrollbarTrackVertical
垂直滚动条滚动轨道的图片
android:scrollbars
要显示的滚动条。none不显示任何滚动条,vertical显示垂直的滚动条,horizontal显示水平的滚动条。也可以vertical|horizontal,垂直、水平的滚动条都要显示
android:soundEffectsEnabled
点击或触摸该view时,是否需要有声音效果
android:tag
string标识。类似id,id是整数标识。
android:visibility
view的可见性。gone不可见,同时不占用view的空间;invisible不可见,但占用view的空间;visible可见
分享到:
相关推荐
android之各种View常用xml属性,可以收藏一下,比较全
笔者之前已经写过了一些自定义View的文章...笔者之前的文章中仅仅介绍了如何使用自定义View以及为什么要使用自定义View等等,但是在实际操作中,我们还是希望自定义View之后,直接能够在xml中就对其进行操作,如下图:
在Android开发中,View是构建用户界面的基本元素,它的XML属性极大地丰富了界面的设计和交互。以下是关于Android中View的一些重要XML属性的详细说明: 1. **android:alpha**: 这个属性用于设置View的透明度,值在...
`XmlView.rar`是一个针对XML文件的格式化工具,它可以帮助用户更有效地管理和维护XML代码,使其符合规范,提高代码可读性和可维护性。 XML格式化是编程过程中的一项重要任务,因为原始的XML文件可能会因为手动编辑...
Android XML 布局属性可以分为三类:第一类是属性值为 true 或 false 的布局属性,第二类是属性值必须为 id 的引用名的布局属性,第三类是属性值为具体的像素值的布局属性。 第一类:属性值为 true 或 false 的...
`TypedArray`提供了一种更安全、更高效的方式来访问和处理XML属性: ```java TypedArray a = context.obtainStyledAttributes(attrs, R.styleable.MyCustomView); int myColor = a.getColor(R.styleable....
本教程将聚焦于一个名为"viewxml"的工具,它是一个MATLAB定制的XML树查看器,专为帮助开发者更好地理解和操作XML文档而设计。下面我们将深入探讨该工具的核心功能及其在MATLAB开发中的应用。 首先,`viewxml`是...
相比于旧式的视图动画(View Animation),属性动画系统允许开发者对对象的属性进行改变,并且这些改变能够在帧之间平滑地过渡,从而实现更自然、流畅的动画效果。本教程将深入探讨如何使用Java和XML来实现Android...
在Android开发中,...在实际开发中,你还可以利用Android的属性动画、事件监听等功能,进一步增强自定义View的功能和交互性。记得在开发过程中,保持良好的编程习惯,遵循Android设计指南,以提供更好的用户体验。
在XML布局文件中,我们可以像使用原生View一样使用自定义View,并设置其属性: ```xml android:layout_width="wrap_content" android:layout_height="wrap_content" app:customColor="@color/colorPrimary" ...
首先,`android:background`属性用于设置视图(View)的背景颜色或图像。透明背景可以使用`@android:color/transparent`或`@null`来实现。例如,`TextView`默认是透明的,但如果你想让`Button`、`ImageButton`或`...
本文将深入探讨自定义View的基础原理以及如何自定义其属性。 首先,自定义View的创建通常涉及以下几个步骤: 1. **创建新类**:创建一个新的Java类,继承自Android的View或已有的View子类(如TextView、ImageView...
XMLView.zip这个压缩包可能包含了一个或多个与查看、解析或操作XML文件相关的工具。 XMLView64.exe和XMLView.exe可能是两个不同版本的应用程序,其中64.exe版本是为64位操作系统设计的,而.exe文件通常是为32位操作...
在本项目“XML VieW”中,开发者创建了一个基于WinForm的图形用户界面,使得用户能够更加直观和便捷地进行XML数据的存储、查看、增加、删除和修改操作。 1. **XML基础**:XML文档由一系列元素组成,每个元素都有...
### Android如何使用XML自定义属性 在Android开发中,我们经常需要为自定义视图或者控件设置一些特定的属性来满足不同的需求。为了更好地控制这些属性并使其更易于管理和扩展,Android提供了一种机制——XML自定义...
自定义属性是为了让自定义View更加灵活,能通过XML布局文件配置其外观和行为。Android提供了两种方式来定义自定义属性: 1. **使用 attrs.xml 文件**:在res/values目录下创建一个attrs.xml文件,声明自定义属性,...
本文将深入探讨如何在Qt环境中结合Model-View与XML技术,实现数据的存储和显示。我们将关注以下核心知识点: 1. **Qt Model-View架构**: Qt的Model-View-Controller(MVC)架构是其数据展示的核心机制。在这个...
总结来说,自定义View使用自定义属性的过程主要包括:在`attrs.xml`中声明属性,通过`TypedArray`获取属性值,并在自定义View的逻辑中应用这些属性。这个过程增强了Android组件的可定制性,使得开发者能够创建出更...
在这个过程中,我们学习了如何创建自定义View,如何在XML布局中使用自定义属性,以及如何处理触摸事件。通过这样的实践,开发者能够更好地理解和掌握Android应用开发中的自定义控件和用户交互机制。同时,这个例子也...