所有的界面元素都是继承与View(如:ImageView 、Button等),布局继承于GroupView(如:LinearLayout等)
view的主要属性,这里直接是xml配置里写了,当然直接通过代码也是可以的
XML属性 | 相关方法 | 说明 |
android:alpha | setAlpha(float alpha) | 1. alpha值是从0~1的,比如0.5相当于透明50%,0相当于完全透明,1完全不透明 2. 3.0以下版本没有这个属性,因此只要设置了就相当于不透明, 3. 3.0版本以下可以用过view.getBackground().setAlpha(255)方法来设置透明度 0完全透明 255 不透明 |
android:background | setBackground(Drawable background); | 该组件的背景色,可以使一个Drawable,color值或者Drawable的ID值, setBackgroundDrawable新的SDK已经废弃了 |
android:clickable | setClickable(boolean clickable) | 是否可以点击,true可以点击,false不允许点击 |
android:contentDescription | setContentDescription(CharSequence contentDescription) | 组件的描述,也仅仅是描述而已 |
android:drawingCacheQuality | setDrawingCacheQuality(int quality) | 网上解释: 设置绘图时半透明质量。有以下值可设置:auto(默认,由框架决定)/high(高质量,使用较高的颜色深度, 消耗更多的内存/low(低质量,使用较低的颜色深度,但是用更少的内存)。 如果用代码设置用下面这3个静态变量 View.DRAWING_CACHE_QUALITY_AUTO View.DRAWING_CACHE_QUALITY_HIGH 看了半天也没明白说的是什么意思,但看到网上有两个例子都是截屏的 //截组件 public Bitmap getView(View view){ // 设置使用缓存绘图 view.setDrawingCacheEnabled(true);
|
android:fadeScrollbars | setScrollbarFadingEnabled(boolean fadeScrollbars) | 是否自动淡出滚动条,true:不拖动的时候,自动隐藏,false:一直显示着 |
android:fadingEdge | setVerticalFadingEdgeEnabled(boolean verticalFadingEdgeEnabled) | 网上解释: 设置拉滚动条时 ,边框渐变的放向。none(边框颜色不变),horizontal(水平方向颜色变淡), vertical(垂直方向颜色变淡)。 试不出来 |
android:fadingEdgeLength | 没找到 | 网上解释: 用来设置边框渐变的长度 试不出来 |
android:focusable | setFocusable(boolean focusable) | 是否可以获得焦点,比如设置textedit为false,就无法选中输入文字了 |
android:focusableInTouchMode | setFocusableInTouchMode(boolean focusableInTouchMode) | 在触摸模式下是否可以获得焦点 试了下发现如果focusable已经是false了,那么这个参数就无效了 |
android:id | setId(int id) | 必须是@+id/*** 如:@+id/editText1,不要问我为什么 |
android:isScrollContainer | setScrollContainer(boolean isScrollContainer) | 是否可以作为滚动容器使用 |
android:keepScreenOn | setKeepScreenOn(boolean keepScreenOn) | 是否强制屏幕一直打开,除非是特殊设备,否则要被客户骂死,很快就没电了 |
android:longClickable | setLongClickable(boolean longClickable) | 是否可以相应长单击时间,就是手指一直按着 |
android:minHeight | setMinimumHeight(int minHeight) | 最小高度 |
android:minWidth | setMinHeight(int minHeight) | 最小宽度 |
android:nextFocusUp | setNextFocusUpId(int nextFocusUpId) | 按向上键时获得焦点的组件ID 这4个获得焦点的方式是模拟器上测试的,然后通过键盘的上下左右来操作是没问题, 但真实手机上压根就没这上下左右,不知如何测试 |
android:nextFocusDown | setNextFocusDownId(int nextFocusDownId) | 按向下键时获得焦点的组件ID |
android:nextFocusLeft | setNextFocusLeftId(int nextFocusLeftId) | 按向左键时获得焦点的组件ID |
android:nextFocusRight | setNextFocusRightId(int nextFocusRightId) | 按向右键时获得焦点的组件ID |
android:onClick | setOnClickListener(OnClickListener l) | 单击事件 |
android:padding | setPadding(int left, int top, int right, int bottom) | 在组件的四边设置填充区域,且填充在自己内部的
|
android:paddingTop | 同上 | 上边 ![]() |
android:paddingBottom | 同上 | 下边 |
android:paddingLeft | 同上 | 左边 |
android:paddingRight | 同上 | 右边 |
android:rotation | setRotation(float rotation) | 组件的旋转角度,比如45度 |
android:rotationX | setRotationX(float rotation) | 按X轴旋转![]() |
android:rotationY | setRotationY(float rotation) | 按Y轴旋转 ![]() ![]() |
android:saveEnabled | setEnabled(boolean enabled) | 默认是true的,如果是true那么在屏幕旋转的时候会保存值,比如:EditText,如果设置了true那么屏幕旋转时里面输入的内容还会保留,如果输入了false,则直接变空了 但是我试了下上面的rotation旋转,好像都没效果 |
android:scrollX | setScrollX(int value) | 以像素为单位设置水平方向滚动的的偏移值,在GridView中可看的这个效果。 |
android:scrollY | setScrollY(int value) | 以像素为单位设置垂直方向滚动的的偏移值,在GridView中可看的这个效果。 |
android:scaleX | setScaleX(float scaleX) | 水平方向缩放![]() |
android:scaleY | setScaleY(float scaleY) | 垂直方向缩放![]() |
android:scrollbarAlwaysDrawVerticalTrack | 是否总是显示垂直滚动条的轨道,测试无效 | |
android:scrollbarAlwaysDrawHorizontalTrack | 是否总是显示水平滚动条的轨道,测试无效 | |
android:scrollbarDefaultDelayBeforeFade | setScrollBarDefaultDelayBeforeFade(int scrollBarDefaultDelayBeforeFade) | 值是秒,多少毫秒后滚动条自动隐藏 |
android:scrollbarSize | setScrollBarSize(int scrollBarSize) | 滚动条宽度 |
android:scrollbarStyle | setScrollBarStyle(int style) style View.SCROLLBARS_INSIDE_OVERLAY | scrollbar样式 insideOverlay:默认值,表示在padding区域内并且覆盖在view上 insideInset:表示在padding区域内并且插入在view后面 下面2个效果好像都一样,推荐用outsideOverlay outsideOverlay:表示在padding区域外并且覆盖在view上 outsideInset:表示在padding区域外并且插入在view后面 |
android:scrollbarThumbVertical | 垂直滚动条对应的drawable | |
android:scrollbarThumbHorizontal | 水平滚动条对应的drawable | |
android:scrollbarTrackVertical | 垂直滚动条轨道对应的drawable(就是滚动条滑动下面的区域) | |
android:scrollbarTrackHorizontal | 水平滚动条对应的drawable(就是滚动条滑动下面的区域) | |
android:scrollbars | 定义滚动时显示滚动条 三种:none、horizontal、vertical ,不显示滚动条,不代表不能滚动 | |
android:soundEffectsEnabled | setSoundEffectsEnabled(boolean soundEffectsEnabled) | 该组件被单击是是否有音效 |
android:tag | setTag | 给这个组件定义一个标记,类似id,但这个一般是文字说明,可以通过getTag获取值, 可以通过findViewWithTag(Object tag)获取这个组件 |
android:transformPivotX | setPivotX(float pivotX) | 这几个由于对图片处理不是很了解,只试了下效果 该组件旋转时X轴的坐标,一般和android:rotationX 配合使用 |
android:transformPivotY | setPivotY(float pivotY) | 该组件旋转时Y轴的坐标 |
android:translationX | setTranslationX(float translationX) | 设置该组件在X方向上的位移,比如比原位置向右偏移100 |
android:translationY | setTranslationY(float translationY) | 设置该组件在Y方向上的位移 |
android:visibility | setVisibility(int visibility) View.VISIBLE View.INVISIBLE View.GONE | 该组件是否显示,有3个参数 visible:一直显示 invisible:没显示,但是还占着位置 gone:什么都没有,和没创建一样 |
ViewGroup
android:layout_width | //动态设置framelayout的高宽、边距 | 设置组件的宽度、高度 match_parent:使长度或宽度与父容器的长度和宽度相同 wrap_content:写死组件的宽度或者长度 |
android:layout_height | ||
android:layout_marginTop | 设置组件的上下左右边距 android:layout_marginTop="100dp" | |
android:layout_marginBottom | ||
android:layout_marginLeft | ||
android:layout_marginRight | ||
简单实例,点击切换图片
public class MainActivity extends Activity { // ImageView iv; // 显示图片索引 int index = 0; // 图片资源 int[] images = new int[] { R.drawable.pic1, R.drawable.pic2, R.drawable.pic3, R.drawable.pic4, R.drawable.pic5 }; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); iv = (ImageView) findViewById(R.id.imageView1); // 设置默认图片 iv.setImageResource(images[index]); // 双击显示下一张图片 iv.setOnClickListener(new OnClickListener() { public void onClick(View v) { index = (index + 1) % images.length; iv.setImageResource(images[index]); } }); } }