`

view使用

阅读更多
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上加上滚动条的宽度,以不让内容显示到滚动条下面去。

这部分的源码
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可见
  • 大小: 11.3 KB
  • 大小: 71.4 KB
  • 大小: 26 KB
分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics