android-ui -xml-资源

文章目录

  • layout公共属性
  • layout布局属性
  • 控件
  • 状态选择器
  • 动画插值器Interpolator
  • 页面滑动的xml动画资源
  • rotate 旋转动画

layout公共属性

layout_width			宽
layout_height			高
text					主题
hint					提示文本(限于文本类型的view)
inputType				输入的类型(限于文本类型的view)
style					样式
theme					主题
visibility				可见性(gone不可见且不占位置 | invisible不可以见但是占位置 | visible 可见)
background				背景
android:descendantFocusability="blocksDescendants"		设置子控件不能抢父控件焦点(各点各的)(一般抢焦点的有Button,ImageButton....)
singleLine="true"		设置是否只显示一行
lines					显示几行
android:fitsSystemWindows="true"	沉淀式状态栏
android:clickable="false"			是否可以点击
android:focusable="false"			是否可以得到焦点
android:rotation="多少度"			设置布局的角度
android:translationX="10px"			平移多少
android:minHeight="10dp"			设置最低高度

layout布局属性

  • LinearLayout
//自己属性
gravity						里面空间的位置
layout_width				宽
layout_height				高
layout_orientation			方向(水平还是垂直)
android:weightSum="3"		设置总权重
android:paddingXXX		底部的内边距 Bottom底部、Left左边 、Right右边、Top顶部
--//布局子控件的属性
layout_weight				权重 
gravity						对齐方式
vertical					垂直
horizontal					水平
  • RelativeLayout 相对布局
RelativeLayout 相对布局	
--//布局的属性
visibility					设置显示或者隐藏							
layout_centerHorizontal		居中水平 
layout_centerVertical		居中垂直
layout_centerInParent		在父布局内居中

--//布局里面控件的属性
'在(指定控件)的哪里
layout_above				在(指定控件)上面
layout_below				在(指定控件)下面	
layout_toRightof			在(指定控件)右边
layout_toLeftof				在(指定控件)左边
'在父布局四个方向
layout_alignParentTop		排列在父布局的顶部
layout_alignParentBottom	排列在父布局的底部
layout_alignParentLeft		排列在父布局的左边
layout_alignParentRight		排列在父布局的右边
'调边距
layout_alignRight			与(已指定控件)对齐
layout_marginRight			距(已指定控件)右边多少距离(如果没有指定默认父布局)
layout_marginLeft			距(已指定控件)左边多少距离(如果没有指定默认父布局)
layout_marginTop			距(已指定控件)上边多少距离(如果没有指定默认父布局)
layout_marginBottom			距(已指定控件)下边多少距离(如果没有指定默认父布局)
'显示的行数
singleLine="true"			设置是否只显示一行
lines						显示几行
			


  • FrameLayout 帧布局
layout_Gravity
  • TableLayout 表格布局

  • AbsoluteLayout 绝对布局

控件

  • TextView
	android:maxLines="2"			设置显示的行数
	ellipsize("文本怎么怎么显示")	{"marquee" 获取焦点的时候文字滚动|"end"超过后省略点
	focusableInTouchMode="true"		触摸的时候获取焦点
	drawableLeft()					文本的左边增加一个图片
	android:drawablePadding			图片的边距
  • VideoView '视频播放器
  • EditText '文本输入
et_content.setFilters(new InputFilter[]{new InputFilter.LengthFilter(maxLength)});   //代码设置输入的字数
  • Button '按钮

  • ImageView '图片

android:scaleType=""   设置图片放置的适配类型
  • CheckBox '单选
	android:focusable="false"	不可以抢焦点
	android:clickable="false"	不可以点击
	android:button="@null"  不要小圆圈的图片
  • SeekBar '进度条 (max最大值)

  • RadioButton 'RadioGroup的子单选框

	android:button="@null"  不要小圆圈的图片
  • Listview '可以滚动控件 (fastScrollEnabled是否可以快速滚动)
	fastScrollEnabled				是否可以快速滚动
	android:cacheColorHint="#fff"	设置缓冲的颜色
	android:divider="@null"			设置分隔物的颜色 @null表示没有
	android:dividerHeight="@null"	设置分隔物的高度
  • GridView '可以滚动控件(与listview不同的地方是可以设置几列列数)
	numColumns="2"					设置列数
  • ProgressBar '进度控件
	indeterminateDrawable="选择自定义的样式"
	style="?android:attr/progressBarStyleHorizontal"  设置成有进度的
  • RadioGroup '团体单选框
  • ScrollView '可以滚动的布局
(1)下子布局里面加下面两行可以防止自动滑动
android:focusable="true"
android:focusableInTouchMode="true"
(2)隐藏滚动条
android:scrollbars="none"
  • SlidingDrawer '抽屉控件
		android:content="@+id/content"   //内容
		android:handle="@+id/handle"	 //把手
  • ViewPager '图片滑动的控件(需要V4包,3.0的)
  • DrawerLayout '侧边菜单布局,需要V4包
android:layout_gravity="start"			设置左边菜单
  • RatingBar '小星星控件 compile ‘com.jakewharton:butterknife:8.0.0’

  • swipeRefreshLayout 5.0 '原生的下拉刷新

状态选择器


--// 状态选择器——selector ##
- 可以给View设置不同的背景(注意:默认的背景图片一定要放在最后面)

	
	
		
	    
		
	    
	




    
    
    
    


需要在res下创建一个color目录
* state_pressed:被按下的状态
* state_focused:获取到焦点的状态
* state_checked:被选中的状态
  state_enabled: 激活的状态

动画插值器Interpolator

1.interpolator定义一个动画的变化率(the rate of change)。这使得基本的动画效果(alpha, scale, translate, rotate)得以加速,减速,重复等。
2.常用Interpolator

AccelerateDecelerateInterpolator============动画开始与结束的地方速率改变比较慢,在中间的时候加速。
AccelerateInterpolator===================动画开始的地方速率改变比较慢,然后开始加速。 
AnticipateInterpolator ==================开始的时候向后然后向前甩。
AnticipateOvershootInterpolator=============开始的时候向后然后向前甩一定值后返回最后的值。
BounceInterpolator=====================动画结束的时候弹起。
CycleInterpolator======================动画循环播放特定的次数,速率改变沿着正弦曲线。
DecelerateInterpolator===================在动画开始的地方快然后慢。
LinearInterpolator======================以常量速率改变。
OvershootInterpolator====================向前甩一定值后再回到原来位置。
PathInterpolator========================新增的,就是可以定义路径坐标,然后可以按照路径坐标来跑动;注意其坐标并不是 XY,而是单方向,也就是我可以从0~1,然后弹回0.5 然后又弹到0.7 有到0.3,直到最后时间结束。

页面滑动的xml动画资源

****************************************************************************************************************************

(1)资源id写在res/anim目录里面
(2)根节点为translate
(3)在Activity里面调用方法overridePendingTransition(开始动画的资源id,和退出动画的资源id);			设置开始动画和退出动画


xml资源实例

			//结束点y坐标
	

rotate 旋转动画


		

		//可以嵌套shape
	

你可能感兴趣的:(andorid)