继承关系:
java.lang.Object
android.view.View
直接子类:
AnalogClock, ImageView, KeyboardView, ProgressBar, SurfaceView, TextView, ViewGroup, ViewStub
间接子类:
AbsListView, AbsSeekBar, AbsSpinner, AbsoluteLayout, AdapterView<T extends Adapter>,AppWidgetHostView, AutoCompleteTextView, Button,CheckBox,CheckedTextView, Chronometer,CompoundButton, DatePicker, DialerFilter, DigitalClock, EditText, ExpandableListView,ExtractEditText,
FrameLayout, GLSurfaceView, Gallery, GestureOverlayView, GridView,HorizontalScrollView, ImageButton, ImageSwitcher, LinearLayout, ListView, MediaController,MultiAutoCompleteTextView, QuickContactBadge, RadioButton, RadioGroup, RatingBar,RelativeLayout,
ScrollView, SeekBar, SlidingDrawer, Spinner, TabHost, TabWidget, TableLayout,TableRow, TextSwitcher, TimePicker, ToggleButton, TwoLineListItem, VideoView, ViewAnimator,ViewFlipper, ViewSwitcher, WebView, ZoomButton, ZoomControls
XML 属性
android:background
设置背景色/背景图片。
可以通过以下两种方法设置背景为透明:"@android:color/transparent"和"@null"。
注意TextView 默认是透明的,不用写此属性,但是Buttom/ImageButton/ImageView 想透明的话就得写这个属性了。
android:clickable
是否响应点击事件。
android:contentDescription
设置 View 的备注说明,作为一种辅助功能提供,为一些没有文字描述的 View 提供说明,如 ImageButton。
这里在界面上不会有效果,自己在程序中控制,可临时放一点字符串数据。
android:drawingCacheQuality
设置绘图时半透明质量。
有以下值可设置:
- auto(默认,由框架决定)
- high(高质量,使用较高的颜色深度,消耗更多的内存)
- low(低质量,使用较低的颜色深度,但是用更少的内存)。
android:duplicateParentState
直接从父容器中获取绘图状态(光标,按下等)。
<LinearLayout android:clickable="true"
<span style="white-space:pre"> </span>android:background="#ff0fff" android:layout_width="100dp"
<span style="white-space:pre"> </span>android:layout_height="100dp">
<span style="white-space:pre"> </span><Button android:duplicateParentState="true"
<span style="white-space:pre"> </span>android:layout_width="wrap_content"
<span style="white-space:pre"> </span>android:layout_height="wrap_content"/>
</LinearLayout>
注意根据目前测试情况仅仅是获取绘图状态,而没有获取事件,也就是你点一下LinearLayout 时 Button 有被点击的效果,但是不执行点击事件。
android:fadingEdge
设置拉滚动条时 ,边框渐变的放向。
- none(边框颜色不变)
- horizontal(水平方向颜色变淡)
- vertical(垂直方向颜色变淡)
android:fadingEdgeLength
设置 边框渐变的长度。
android:fitsSystemWindows
设置布局调整时是否考虑系统窗口(如状态栏)
android:focusable
设置是否获得焦点。若有 requestFocus()被调用时,后者优先处理。
注意在表单中想设置某一个如 EditText 获取焦点,光设置这个是不行的,需要将这个 EditText 前面的focusable 都设置为 false 才行。
在 Touch 模式下获取焦点需要设置 focusableInTouchMode 为 true。
android:focusableInTouchMode
设置在 Touch 模式下 View 是否能取得焦点。
android:hapticFeedbackEnabled
设置触感反馈。
按软键以及进行某些 UI交互时振动,暂时不知道用法,大家可以找找performHapticFeedback或HapticFeedback这个关键字的资料看看。
android:id
给当前 View 设置一个在当前 layout.xml 中的唯一编号,可以通过调用 View.findViewById() 或 Activity.findViewById()根据这个编号查找到对应的 View。
不同的 layout.xml 之间定义相同的 id 不会冲突。
格式如”@+id/btnName”
android:isScrollContainer
设置当前 View 为滚动容器。
这里没有测试出效果来,ListView/ GridView/ ScrollView 根本就不用设置这个属性,而 EdidText 设置 android:scrollbars 也能出滚动条。
android:keepScreenOn
View 在可见的情况下是否保持唤醒状态。
常在 LinearLayout 使用该属性,但是模拟器这里没有效果。
- android:longClickable 设置是否响应长按事件.
- android:minHeight 设置视图最小高度
- android:minWidth 设置视图最小宽度度
android:nextFocusDown
设置下方指定视图获得下一个焦点。
焦点移动是基于一个在给定方向查找最近邻居的算法。如果指定视图不存在,移动焦点时将报运行时错误。
可以设置
- imeOptions= actionDone,这样输入完即跳到下一个焦点。
- android:nextFocusLeft 设置左边指定视图获得下一个焦点。
- android:nextFocusRight 设置右边指定视图获得下一个焦点。
- android:nextFocusUp 设置上方指定视图获得下一个焦点。
android:onClick
点击时从上下文中调用指定的方法。
这里指定一个方法名称,一般在 Activity 定义符合如下参数和返回值的函数并将方法名字符串指定为该值即可
activity中:public void onClickButton(View view)
layout中:android:onClick=” onClickButton”
android:padding
设置上下左右的边距,以像素为单位填充空白。
- android:paddingBottom 设置底部的边距,以像素为单位填充空白。
- android:paddingLeft设置左边的边距,以像素为单位填充空白。
- android:paddingRight设置右边的边距,以像素为单位填充空白。.
- android:paddingTop设置上方的边距,以像素为单位填充空白。
android:saveEnabled
设置是否在窗口冻结时(如旋转屏幕)保存 View 的数据,默认为 true,但是前提是你需要设置 id 才能自动保存,参见如下。
当旋转手机时,如果想要保存EditText的文本的内容,有三种方法:
- 只要这个EditText设置了android:id属性就会自动保存。
- 可以设置EditText的android:freezesText="true",再到相应的Activity中加上如下两个方法:
-
CharSequence getSavedText(){
return ((TextView)findViewById(R.id.saved)).getText();
}
void setSavedText(CharSequence text){
((TextView)findViewById(R.id.saved)).setText(text);
}
如果想在退出这个Activity时,也能保存EditText的内容:这时可以用state机制来保存。
android:scrollX
以像素为单位设置水平方向滚动的的偏移值,在 GridView中可看的这个效果。
android:scrollY
以像素为单位设置垂直方向滚动的的偏移值
android:scrollbarAlwaysDrawHorizontalTrack
设置是否始终显示垂直滚动条。这里用 ScrollView、ListView测试均没有效果。
android:scrollbarAlwaysDrawVerticalTrack
设置是否始终显示垂直滚动条。这里用 ScrollView、ListView测试均没有效果。
android:scrollbarDefaultDelayBeforeFade
设置 N 毫秒后开始淡化,以毫秒为单位。
android:scrollbarFadeDuration
设置滚动条淡出效果(从有到慢慢的变淡直至消失)时间,以毫秒为单位。Android2.2 中滚动条滚动完之后会消失,再滚动又会出来。
android:scrollbarSize
设置滚动条的宽度。
android:scrollbarStyle
设置滚动条的风格和位置。
设置值:insideOverlay、insideInset、outsideOverlay、outsideInset。
android:scrollbarThumbHorizontal
设置水平滚动条的 drawable(如颜色)。
android:scrollbarThumbVertical
设置垂直滚动条的 drawable(如颜色)
android:scrollbarTrackHorizontal
设置水平滚动条背景(轨迹)的色 drawable(如颜色)
android:scrollbarTrackVertical
设置垂直滚动条背景(轨迹)的 drawable 注意直接设置颜色值如”android:color/white”将得出很难看的效果,甚至都不理解这个属性了,这里可以参见 ApiDemos 里 res/drawable/scrollbar_vertical_thumb.xml 和scrollbar_vertical_track.xml,设置代码为:
android:scrollbarTrackVertical="@drawable/scrollbar_vertical_track"
android:scrollbars
设置滚动条显示。
- none(隐藏)
- horizontal(水平)
- vertical(垂直)。
见下列代码演示使用该属性让 EditText 内有滚动条。
但是其他容器如 LinearLayout 设置了但是没有效果。
android:soundEffectsEnabled 设置点击或触摸时是否有声音效果
<EditText android:layout_width="fill_parent"
<span style="white-space:pre"> </span>android:layout_height="wrap_content" android:minHeight="50dp"
<span style="white-space:pre"> </span>android:background="@android:drawable/editbox_background"
<span style="white-space:pre"> </span>android:scrollbars="vertical"
<span style="white-space:pre"> </span>android:maxLines="4">
</EditText>
<EditText android:layout_width="fill_parent"
<span style="white-space:pre"> </span>android:layout_height="wrap_content" android:minHeight="50dp"
<span style="white-space:pre"> </span>android:background="@android:drawable/editbox_background"
<span style="white-space:pre"> </span>android:scrollbars="vertical"
<span style="white-space:pre"> </span>android:maxLines="4">
</EditText>
android:tag
设置一个文本标签。可以通过 View.getTag()或 for withView.findViewWithTag()检索含有该标签字符串的 View。但一般最好通过 ID 来查询 View,因为它的速度更快,并且允许编译时类型检查。
android:visibility
设置是否显示 View。
- visible(默认值,显示)
- invisible(不显示,但是仍然占用空间
- gone(不显示,不占用空间)
分享到:
相关推荐
Android_view_高效布局的建议doc
实现控件绕轴旋转,既可以拖拽控件旋转,也可以让其自动旋转。稍作加工即可实现比较实用的效果
android 自定义圆形渐变进度条,可高度自定义各种属性,输入maxValue和currentValue即可看到效果,方便,快捷,高效。
native object attached to the DVM InputChannel.
Number of float items per entry in a DVM sample data array.
2,使用前请先安装Android的SDK,并配置相关环境变量。 3,Android设备连接电脑,打开开发者模式并允许调试,储存设置为文件模式。 4,使用前请先adb devices查看设备是否在线。 若有不懂可咨询wx:Immhaini
Android 自定义实现 NavigationView Android 不规则图像填充 小玩着色游戏 浅谈 MVP in Android Android ViewDragHelper完全解析 自定义ViewGroup神器 Android HandlerThread 完全解析 Android IntentService完全...
Android_View_and_ViewGroup
android实用组件scrollview的用法说明,内附代码,可实现滑动效果,给力哦。
android_pdfview eclipse版,支持在线预览pdf文件和本地文件
android NavigationView demo
用于显示歌词的工具类
Android_如何置底一个View(附_前置声明layout布局文件中的资源ID)
本书系统讲解了Android全埋点的解决方案,特别是控件点击事件的全埋点采集,总结并归纳了如下8种解决方案,并且都提供了完整的项目源码。$AppStart、$AppEnd全埋点方案:T $AppClick全埋点方案1:代理View....
Android.view.Menu接口代表一个菜单,android用它来管理各种菜单项,注意我们一般不自己创建menu,因为每个Activity默认都自带一个,我们要做的是为它加菜单项和响应菜单项的点击事件。Andorid.view.MenuItem代表每...
Android的GUI系统由C语言的框架和JAVA语言的框架组成。... android.view.View及其继承者 (用于构建UI元素) OpenGL的功能类 javax.microedition.khronos.opengles (由com.google.android.gles_jni 实现)
通过添加依赖 compile 'com.github.barteksc:android-pdf-viewer:2.6.1' 获取本地sd卡路径下的pdf资源并展示 实现自动换页功能
基于android下的自定义下拉列表,是spinner的升级版本
在继续深入Android开发之旅之前,有必要解决前两篇中没有介绍的遗留问题:View的几种布局显示方法,以后就不会在针对布局方面做过多的介绍。View的布局显示方式有下面几种:线性布局(Linear Layout)、相对布局...
debug_view_kotlin Debug-View是用Kotlin实现的用于Android调试的浮层调试控制台,这个控制台会一直浮在app的UI最上层, 用于实时地、直观地显示app的性能指标和日志信息:App使用的内存信息、App的实时帧率FPS、app...