android-ui -xml-资源

本文详细介绍了 Android 开发中的各种 UI 控件及其属性,包括 TextView、EditText 和 Button 等,并深入探讨了不同布局的特点及使用场景,如 LinearLayout 和 RelativeLayout。此外,还讲解了状态选择器和动画插值器的使用方法。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

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’
<RatingBar
                    android:id="@+id/rb_star"
                    style="@android:style/Widget.RatingBar"
                    android:layout_width="wrap_content"
                    android:layout_height="14dp"
                    android:layout_marginBottom="2dp"
                    android:layout_marginTop="2dp"
                    android:isIndicator="true"
					android:progressTint="@android:color/black"
                    android:progressDrawable="@drawable/ratingbar_progress" />
  • swipeRefreshLayout 5.0 '原生的下拉刷新

状态选择器


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

	<?xml version="1.0" encoding="utf-8"?>
	<selector xmlns:android="http://schemas.android.com/apk/res/android">
		<!--  按压时的背景图片-->
	    <item android:state_pressed="true" android:drawable="@drawable/dg_button_cancel_select"/>
		<!--  默认时的背景图片:一定要放在最后面-->
	    <item android:drawable="@drawable/dg_button_cancel_normal"/>
	</selector>


<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
    <item android:color="#ff0000" android:state_pressed="true"/>
    <item android:color="#ff0000" android:state_focused="true"/>
    <item android:color="#ff0000" android:state_checked="true"/>
    <item android:color="#000000" />
</selector>

需要在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资源实例
<?xml version="1.0" encoding="utf-8"?>
	<translate xmlns:android="http://schemas.android.com/apk/res/android"
	    android:duration="300" 		//持续时间
	    android:fromXDelta="100%p" 	//起始点x坐标
	    android:fromYDelta="0"		//起始点y坐标
	    android:toXDelta="0"		//结束点x坐标
	    android:toYDelta="0" >		//结束点y坐标
	</translate>

rotate 旋转动画

<?xml rotate="1.0" encoding="utf-8"?>
	<translate xmlns:android="http://schemas.android.com/apk/res/android"
	    android:fromDegrees="0"		//开始角度	
		android:toDegrees="360"		//目标角度
		android:pivoX="50%"			//相对自己参照物X
		android:pivoY="50%"			//相对自己参照物Y
		>	

		//可以嵌套shape
	</rotate>
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值