View的xml属性

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可见
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值