android-xml资源

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>

猜你喜欢

转载自blog.csdn.net/binbin594738977/article/details/81544585
今日推荐