-
思路查看全部
-
自定义属性的使用查看全部
-
自定义属性的基础查看全部
-
谢谢老师,清楚易懂查看全部
-
感谢老师!查看全部
-
三、属性动画 区别1:内容区域 1.0 ~ 0.7 缩放效果 ratio : 1.0 ~ 0.0 0.7 + 0.3 * ratio 区别2: 菜单的偏移量需要修改 区别3: 菜单显示有缩放以及透明度变换 ratio : 1.0 ~ 0.0 缩放: 0.7 ~ 1.0 1.0 - ratio * 0.3 透明度: 0.6 ~ 1.0 1.0 - ratio * 0.4 @Override protected void onScrollChanged(int l, int t, int oldl, int oldt) { super.onScrollChanged(l, t, oldl, oldt); float ratio = l * 1.0f / mMenuWidth; float menuScale = 1.0f - ratio * 0.3f; float menuAlpha = 1.0f - ratio * 0.4f; ViewHelper.setTranslationX(mMenu, l * 0.7f);//菜单偏移量 ViewHelper.setScaleX(mMenu, menuScale);//菜单缩放 ViewHelper.setScaleY(mMenu, menuScale);//菜单缩放 ViewHelper.setAlpha(mMenu, menuAlpha);//菜单透明度 float contentScale = 0.7f + 0.3f * ratio; ViewHelper.setScaleX(mContent, contentScale);//内容区域缩放 ViewHelper.setScaleY(mContent, contentScale);//内容区域缩放 //设置缩放中心点左移 ViewHelper.setPivotX(mContent, 0);//中心点X方向左移动到0 ViewHelper.setPivotY(mContent, mContent.getHeight() / 2);//中心点Y方向不变 } 该方法中的 l(偏移量)= getScrollX()(隐藏在屏幕左边的宽度) 偏移量就是在(偏移量,0)坐标处开始显示menu(待显示的内容)查看全部
-
总结: 一、自定义ViewGroup 1、构造方法的选择,获得一些需要用到的值 2、onMeasure 计算子View的宽和高,以及设置自己的宽和高 3、onLayout 决定子View的布局的位置 【4、onTouchEvent】 ------------------------ 二、构造方法 1、context new CustomViewGroup(context) 调用 this(context , null) 2、context , attr 布局文件中声明(没有自定义的属性) 调用 this(context , attr , 0) 3、context , attr , defStyle (有自定义的属性)查看全部
-
自定义属性: 1.在values里面新建一个attr.xml. <attr name="rightPadding" format="dimension" /> <declare-styleable name="SlidingMenu"> <attr name="rightPadding" format="dimension"> </attr> </declare-styleable> 2.在用到自定义view的布局文件中自定义一个命名空间:xmlns:hyman="http://schemas.android.com/apk/res/com.imooc.slidingmenu",前面的和android是一样的,后面的是当前项目的包名 3.在自定义的com.imooc.slidingmenu.view.SlidingMenu中设置属性 4.在带有3个参数的构造函数中获得自定义属性的值查看全部
-
自定义属性的三步查看全部
-
自定义属性: 一:在Values中申明自定义属性 1 在Values下创建属性文件 attrs 2 在属性值文件中申明 declare-styleable 对应的Java代码为 StyledAttributes 二:在 layout文件中引用自定义属性 1 申明自定义命名空间 xmlns 并自定义命名空间标签 2 通过标签引用自定义属性,并给自定义属性赋值 三:在源码中解析自定义属性的值: 1 重写父类构造器 2 通过 context.obtainStyledAttributes 获取TypedArray查看全部
-
一个参数的构造方法会在什么时候调用呢?在代码中动态的使用new来创建这个View的时候,我们可以调用一个参数的这个构造方法直接传一个Context来调用。查看全部
-
在自定义View的时候,当我们在自定义的View中使用了自定义的属性的时候就会调用三个参数的构造方法。查看全部
-
自定义属性: 1.在values里面新建一个attr.xml. <declare-styleable name="SlidingMenu"> <attr name="rightPadding" format="dimension"> </attr> </declare-styleable> 2.在main.xml里面自定义一个命名空间:xmlns:hyman="http://schemas.android.com/apk/res/com.imooc.slidingmenu",前面的和android是一样的,后面的是当前项目的包名 3.在自定义的com.imooc.slidingmenu.view.SlidingMenu中设置属性查看全部
-
设置菜单滑动显示和隐藏,我们使用smoothScrollTo()这个方法是为了满足一个动画效果。查看全部
-
将menu隐藏到左侧,由于我呢onLayout方法也有可能被多次调用,所以我们需要在layout发生变化的时候重新设置一下。查看全部
举报
0/150
提交
取消