添加layout布局文件,在xml设置动画属性即可,上下左右四个方向均可以实现 。animation in / off 例如: 1slide_in_right <set xmlns:android=">
RelativeLayout是相对布局,允许子元素指定它们相对于父元素或兄弟元素的位置。
1 android:layout_above
将控件设置在给定ID控件之上。
2 android:layout_below
将控件设置在给定ID控件之下。
3 android:layout_toLeftOf
将控件的右边缘和给定ID控件的左边缘对齐。
4 android:layout_toRightOf
将控件的左边缘和给定ID控件的右边缘对齐
5 android:layout_alignLeft
将控件的左边缘和给定ID控件的左边缘对齐。
6 android:layout_alignTop
将控件的上边缘和给定ID控件的上边缘对齐。
7 android:layout_alignRight
将控件的右边缘和给定ID控件的右边缘对齐
8 android:layout_alignBottom
将控件的底边缘和给定ID控件的底边缘对齐。
9 android:layout_alignParentLeft="true"
将控件的左边缘和父控件的左边缘对齐。
10 android:layout_alignParentTop="true"
将控件的上边缘和父控件的上边缘对齐。
11 android:layout_alignParentRight="true"
将控件的右边缘和父控件的右边缘对齐。
12 android:layout_alignParentBottom="true"
将控件的底边缘和父控件的底边缘对齐
13 android:layout_centerInParent="true"
将控件置于父控件的中心位置。
14 android:layout_centerHorizontal="true"
将控件置于水平方向的中心位置。
15 android:layout_centerVertical="true"
将控件置于垂直方向的中心位置。
16 android:background
设置控件的背景,可以是或者颜色。
1)mPaintsetAntiAlias();
2)mPaintsetFilterBitmap(true)。
=====================================
在Android中,目前,我知道有两种出现锯齿的情况。
① 当我们用Canvas绘制位图的时候,如果对位图进行了选择,则位图会出现锯齿。
② 在用View的RotateAnimation做动画时候,如果View当中包含有大量的图形,也会出现锯齿。我们分别以这两种情况加以考虑。
◆ 用Canvas绘制位的的情况。在用Canvas绘制位图时,一般地,我们使用drawBitmap函数家族,在这些函数中,都有一个Paint参数,要做到防止锯齿,我们就要使用到这个参数。
如下:
首先在你的构造函数中,需要创建一个Paint。 Paint mPaint = new Paint();
然后,您需要设置两个参数:
1)mPaintsetAntiAlias();
2)mPaintsetFilterBitmap(true)。
第一个函数是用来防止边缘的锯齿,
第二个函数是用来对位图进行滤波处理。
最后,在画图的时候,调用drawBitmap函数,只需要将整个Paint传入即可。
◆ 有时候,当你做RotateAnimation时,你会发现,讨厌的锯齿又出现了。这个时候,由于你不能控制位图的绘制,只能用其他方法来实现防止锯齿。另外,如果你画的位图很多。不想每个位图的绘制都传入一个Paint。还有的时候,你不可能控制每个窗口的绘制的时候,您就需要用下面的方法来处理——对整个Canvas进行处理。
1)在您的构造函数中,创建一个Paint滤波器。
PaintFlagsDrawFilter mSetfil = new PaintFlagsDrawFilter(0, PaintFILTER_BITMAP_FLAG);
第一个参数是你要清除的标志位,
第二个参数是你要设置的标志位。此处设置为对位图进行滤波。
2)当你在画图的时候,如果是View则在onDraw当中,如果是ViewGroup则在dispatchDraw中调用如下函数。 canvassetDrawFilter( mSetfil );
★ 最后,另外,在Drawable类及其子类中,也有函数setFilterBitmap可以用来对Bitmap进行滤波处理,这样,当你选择Drawable时,会有抗锯齿的效果。
在本机上找到Android SDK包的安装路径,进入tools文件夹,双击打开draw9patchbat
启动后将准备后的png拖拽到该窗口中,如下图,自动进入编辑界面。图中介绍了每个区域的内容及功能注释
在边缘点击左键,绘制出黑线,即需要被拉伸的部分。下图对4条黑线做了注释。
如需擦除,可按住shift键的同时点击鼠标左键
点击左上角的File| Save 9-patch,保存文件
自动生成一张后缀名为“9png”格式的
一步一步
第一步: 创建空项目
第二步: 修改布局文件
此时app效果图为:
可以看到只能从边缘触发侧边栏, 想要类似qq侧边栏, 可以从中间滑出来, 网上有大部分有两种方法, 一种反射修改mEdgeSize的值来实现, 另一种通过activity事件分发配合mDrawerLayoutopDrawer(GravityCompatSTART)来实现, 后者必须手指离开屏幕才能触发, 体验不好, 我们这里用第一种方法, 通过反射修改mEdgeSize的值
在onCreate()方法里进行编写
至此侧边栏边缘问题解决,与当前版本qq侧边栏一样
原文链接:
完美开启DrawerLayout全屏手势侧滑 - (jianshucom)
以上解决方案搬的是评论中 Febers 的评论!!!
以上就是关于android view动画实现从边缘滑出的效果怎么做全部的内容,包括:android view动画实现从边缘滑出的效果怎么做、懒人划划在android上是怎么实现的任意界面从屏幕边缘滑出的、Android-RelativeLayout(相对布局)等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)