`
ezscript
  • 浏览: 34022 次
  • 性别: Icon_minigender_1
  • 来自: 宁波
社区版块
存档分类
最新评论

anim实现左边切入效果

阅读更多
思路:
用1个View盖住(半透明),另外一个目标layout做移动使用
注:
查看了一下F4, 还有这几个能用:
AlphaAnimation    渐变透明   
ScaleAnimation    尺寸伸缩?(用这个可能更好一点)   
TranslateAnimation   位置移动   
RotateAnimation    旋转?
AnimationSet    这个厉害哦

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent" >

   <View
        android:id="@+id/backGroundView"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:background="@color/half_transparent" />
    
    
   <LinearLayout
        android:id="@+id/targetLayout"
        android:layout_width="3dp"
        android:layout_height="match_parent"
        android:layout_marginLeft="-2dp"
        android:background="@drawable/background_main"
        android:orientation="vertical" >

       <TextView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="helloworld" />
     
    </LinearLayout>
    	<View
   	    android:id="@+id/rightBackGroundView"
   	    android:layout_width="20dp"
   	    android:layout_height="match_parent"
   	    android:layout_alignParentRight="true"
   	    android:layout_alignParentTop="true"
   	    android:layout_marginRight="0dp"
   	    android:background="@color/transparent" />
</RelativeLayout>


显示时的代码,其中xxx就是上面的layout。
paramTest.leftMargin  = -width +1;:这句很关键,不加1不行啊
DisplayMetrics dm =new DisplayMetrics();
getWindowManager().getDefaultDisplay().getMetrics(dm);
xxx.setVisibility(View.VISIBLE);
View targetLayout = findViewById(R.id.targetLayout);
int width =(int)(dm.widthPixels *0.8);
int widthRight =(int)(dm.widthPixels *0.2 -1);
View rightBackGroundView = findViewById(R.id.rightBackGroundView);
RelativeLayout.LayoutParams p1 = (RelativeLayout.LayoutParams)rightBackGroundView.getLayoutParams();
p1.width = widthRight;
rightBackGroundView.setLayoutParams(p1);


RelativeLayout.LayoutParams paramTest = (RelativeLayout.LayoutParams) targetLayout.getLayoutParams();
paramTest.width = width;
paramTest.leftMargin  = -width +1;
targetLayout.setLayoutParams(paramTest);

TranslateAnimation anim = new TranslateAnimation(1, width, 0, 0);
anim.setDuration(300);
anim.setFillAfter(true);
anim.setAnimationListener(new AnimationListener() {
	public void onAnimationStart(Animation animation) {
	}
	public void onAnimationRepeat(Animation animation) {
	}
	public void onAnimationEnd(Animation animation) {
		findViewById(R.id.rightBackGroundView).setOnClickListener(new OnClickListener() {
			public void onClick(View v) {
				hideAreaView();
			}
		});
	}
});
targetLayout.startAnimation(anim);


隐藏代码就比较简单了,xxx知道是什么了吧:
private void hideAreaView() {
	DisplayMetrics dm =new DisplayMetrics();
	getWindowManager().getDefaultDisplay().getMetrics(dm);
	View areaLayout = findViewById(R.id.targetLayout);
	int width =(int)(dm.widthPixels *0.8);
    
	TranslateAnimation anim = new TranslateAnimation(width,1,0, 0);
	anim.setDuration(300);
	anim.setFillAfter(true);
	anim.setAnimationListener(new AnimationListener() {
		public void onAnimationStart(Animation animation) {
			Log.i("start","start" );
		}
		public void onAnimationRepeat(Animation animation) {
			Log.i("onAnimationRepeat","onAnimationRepeat" );
		}
		public void onAnimationEnd(Animation animation) {
			xxx.setVisibility(View.GONE);
			findViewById(R.id.rightBackGroundView).setOnClickListener(null);
		}
	});
	areaLayout.startAnimation(anim);
	
}	

分享到:
评论

相关推荐

    Android_Anim_左右滑动效果.zip

    在Android开发中,动画(Anim)是提升用户体验的重要一环,尤其在实现界面交互时,如左右滑动效果。这个名为"Android_Anim_左右滑动效果.zip"的压缩包文件包含了一系列XML文件,用于实现Android应用中的滑动切换效果...

    利用anim实现自定义progressbar

    本教程将深入探讨如何利用`anim`资源来实现一个自定义的ProgressBar,为你的应用增添更多视觉吸引力和用户体验。 首先,让我们理解`anim`资源在Android中的作用。`anim`文件夹是用来存放动画资源的,它支持多种类型...

    anim动画包

    "anim动画包"是一个专门为Android平台设计的资源包,包含了用于实现Activity切换效果的XML动画文件。这些XML文件可以直接导入到项目的res目录下的anim子目录中,以便在应用中使用。下面我们将深入探讨Android中的...

    Android缩放动画anim_zoom

    视图动画在Android API Level 8(即Android 2.2 Froyo)及更低版本中被广泛使用,它并不真正改变UI元素的属性,而是通过模拟改变来实现动画效果。`anim_zoom_in.xml`通常会定义在项目的`res/anim`目录下,用于描述一...

    android Animation动画实现loading效果

    本文将深入探讨如何使用Android Animation来实现动态的Loading效果。 一、Android Animation概述 Android Animation系统提供了多种动画类型,包括属性动画(Property Animation)、补间动画(Tween Animation)和帧...

    android画廊,anim动画,下拉框

    然而,由于在Android 3.0(API级别11)中被废弃,开发者通常会转向使用HorizontalScrollView或者RecyclerView来实现类似的效果。HorizontalScrollView是线性布局管理器的一种变体,可以沿水平方向显示多个视图;...

    activity anim

    "activity anim"指的是针对Activity切换时所使用的动画效果,特别是这里提到的"activity左进右出",它是一种常见的过渡动画,使得新Activity从屏幕左侧滑入,而当前Activity则从右侧滑出,为用户界面带来动态和流畅...

    Android-Anim-Playground.zip

    1. **Translation Animation**(移动动画):通过改变视图的坐标,实现视图的平移效果。 2. **Scale Animation**(缩放动画):调整视图的宽度和高度,实现放大或缩小的效果。 3. **Rotation Animation**(旋转动画...

    android_anim.zip

    "android_anim.zip"这个压缩包文件显然聚焦于Android平台上的属性动画(Property Animation),这是一种强大的机制,允许开发者创建丰富的视觉效果,如对象的移动、缩放、旋转等。我们将深入探讨这个主题,了解...

    Anim-FXV3.5Flash文字特效制作工具

    此外,软件还支持添加背景图像、声音效果,甚至可以与其他Flash元素(如按钮、图形)进行交互,实现更加复杂的功能。 在压缩包文件中,"Anim-FX"可能是包含该工具的主要文件夹,可能包括以下内容: 1. 安装程序:...

    android开发中界面效果的各种实现

    ### Android开发中界面效果的各种实现 #### 概述 在Android开发过程中,为了提升用户体验,开发者经常需要对应用界面进行各种美化与优化处理。本文主要介绍Android开发中常见的几种界面效果实现方法,包括Activity...

    unigine anim file parser

    曲线数据可能基于贝塞尔曲线或其他插值算法,以实现平滑的动画效果。 5. **事件和触发器**:动画文件可能还包含事件标记,比如声音播放、特效触发等,这些事件可以与特定的时间点关联。 6. **附加信息**:根据...

    css3实现波纹特效、H5实现动态波浪效果

    CSS3实现波纹特效和H5实现动态波浪效果是前端网页设计中常见的视觉表现形式,主要通过CSS3的相关属性和方法来创建动态和富有美感的视觉效果,以下详细说明这些知识点。 首先,CSS3是HTML5的主要样式表语言,其通过...

    android anim动画

    Android系统提供了丰富的动画机制,让开发者能够实现各种动态效果,如activity间的平滑过渡、控件的交互反馈等。本文将深入探讨Android中的anim动画,以及如何利用它们来创建令人印象深刻的应用体验。 一、Android...

    3d max md5mesh md5anim 导入 导出 插件

    在3D建模和游戏开发领域,MD5格式(Mighty Death Pixel)是一种常见的用于存储模型和动画数据的...通过了解和掌握这些工具,你可以更好地实现从设计概念到游戏实际应用的无缝过渡,提高开发效率并确保项目的顺利进行。

    anim and layout

    在Android开发中,布局(Layout)和动画(Anim)是两个至关重要的概念,它们共同构建了用户界面的交互性和视觉效果。"anim and layout"这个主题涵盖了如何在Android应用中创建和管理动态效果以及用户界面布局的方法...

    android 动画 anim 4种demo

    了解并熟练掌握这四种动画机制,可以帮助开发者在Android应用中实现各种炫酷的动态效果,从而提高用户满意度和应用的吸引力。在实践中,不断尝试和优化动画效果,可以打造出更加生动、引人入胜的用户体验。

    swift-anim是一个用Swift编写的动画库拥有简单的声明式API

    Swift-Anim是一个专门为Swift开发者设计的动画库,它以其简洁的声明式API为特色,使得在iOS、macOS、tvOS或watchOS等Apple平台上创建动态效果变得异常简单。这个库的目标是提供一种高效且直观的方式来实现各种复杂的...

    Android 泡泡效果 bubble

    本项目实现了点击泡泡后出现魔法效果,这涉及到Android API中的动画处理、图形绘制以及事件监听等多个方面的知识。 首先,我们要理解Android动画系统。Android提供了多种动画机制,包括属性动画(Property ...

    Android实现3D卡片滑动效果

    本篇文章将深入探讨如何在Android中实现3D卡片的滑动效果。 首先,我们来理解3D卡片滑动效果的基本概念。这种效果通常涉及到两个关键元素:CardView和视图转换动画。CardView是Android Support Library提供的一种UI...

Global site tag (gtag.js) - Google Analytics