`

界面右边菜单滑入划出效果

 
阅读更多
用到的几个简单动画效果
left_in.xml
<?xml version="1.0" encoding="utf-8"?>
<set xmlns:android="http://schemas.android.com/apk/res/android" >

    <translate
        android:duration="100"
        android:fromXDelta="-150"
        android:fromYDelta="0"
        android:toXDelta="0"
        android:toYDelta="0" />

</set>

menu_and_left_out.xml
<?xml version="1.0" encoding="utf-8"?>
<set xmlns:android="http://schemas.android.com/apk/res/android" >

    <translate
        android:duration="100"
        android:fromXDelta="150"
        android:fromYDelta="0"
        android:toXDelta="0"
        android:toYDelta="0" />

</set>

menu_in.xml

<?xml version="1.0" encoding="utf-8"?>
<set xmlns:android="http://schemas.android.com/apk/res/android" >

    <translate
        android:duration="100"
        android:fromXDelta="0"
        android:fromYDelta="0"
        android:toXDelta="150"
        android:toYDelta="0" />
</set>


布局文件
<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" >
    <LinearLayout
        android:id="@+id/menu"
        android:layout_width="150dp"
        android:layout_height="fill_parent"
        android:visibility="visible"
        android:layout_alignParentRight="true"
        >

        <TextView
            android:layout_width="match_parent"
            android:layout_height="match_parent"
            android:gravity="center"
            android:text="menu" />
    </LinearLayout>
    <LinearLayout
        android:id="@+id/main"
        android:layout_width="fill_parent"
        android:layout_height="fill_parent"
        android:gravity="center"
        android:layout_toLeftOf="@+id/menu" >

        <Button
            android:layout_width="100dp"
            android:layout_height="80dp"
            android:layout_gravity="center"
            android:text="show menu"
            android:id="@+id/btn" />
    </LinearLayout>



</RelativeLayout>


code
package com.testformenu;


import android.os.Bundle;
import android.app.Activity;
import android.view.Menu;
import android.view.View;
import android.view.View.OnClickListener;
import android.view.animation.Animation;
import android.view.animation.AnimationUtils;
import android.widget.Button;
import android.widget.LinearLayout;

public class MainActivity extends Activity {

	private LinearLayout menu = null;
	private LinearLayout main = null;

	private Animation outAnimation = null;
	private Animation leftInAnimation = null;
	private Animation menuInAnimation = null;
	@Override 
	public void onCreate(Bundle savedInstanceState) {
		super.onCreate(savedInstanceState);
		setContentView(R.layout.activity_main);
		Button btn = (Button) findViewById(R.id.btn);
		menu = (LinearLayout) findViewById(R.id.menu);
		main = (LinearLayout) findViewById(R.id.main);
		outAnimation = AnimationUtils.loadAnimation(this, R.anim.menu_and_left_out);
		leftInAnimation = AnimationUtils.loadAnimation(this, R.anim.left_in);
		menuInAnimation = AnimationUtils.loadAnimation(this, R.anim.menu_in);
		btn.setOnClickListener(new OnClickListener() {

			@Override
			public void onClick(View v) {
				if (menu.getVisibility() == View.VISIBLE) {
					main.startAnimation(leftInAnimation);
					menu.startAnimation(menuInAnimation);
					menu.setVisibility(View.GONE);
				} else {
					main.startAnimation(outAnimation);
					menu.startAnimation(outAnimation);
					menu.setVisibility(View.VISIBLE);
				}
			}
		});

	}

	@Override
	public boolean onCreateOptionsMenu(Menu menu) {
		getMenuInflater().inflate(R.menu.activity_main, menu);
		return true;
	}
}

分享到:
评论

相关推荐

    导航效果划入划出

    "导航效果划入划出"是指通过动画效果来实现导航菜单的展示和隐藏,这种效果能够提升用户体验,使得应用或网站更加互动且吸引人。下面将详细讲解这种导航效果以及其背后的原理和技术实现。 首先,"导航左边划入"和...

    连接数据库的鼠标划出菜单

    在ASP(Active Server Pages)开发中,创建动态的交互式用户界面是常见需求,而“连接数据库的鼠标划出菜单”就是这样的一个功能。这个功能可以让用户通过鼠标悬停在菜单项上时,自动显示出与数据库连接相关的下拉...

    jquery 上下滑动菜单

    当鼠标进入时,子菜单滑入;当鼠标离开时,子菜单滑出。`300`是动画执行的毫秒数,可以调整以改变滑动速度。 五、兼容性处理 为了确保在IE6+和Firefox 2.0+等老版本浏览器中正常工作,我们需要考虑一些兼容性问题...

    IOS应用源码——侧边划出划开.zip

    总的来说,这个"IOS应用源码——侧边划出划开.zip"提供了实践和研究侧滑菜单的实例,对于想要掌握iOS界面交互设计和实现的开发者来说,是一份宝贵的参考资料。通过阅读和分析源码,你可以加深对iOS应用架构、手势...

    安卓SlidingMenu各种菜单侧滑菜单相关-SlideBottomPanel知乎日报β版底部划动菜单.rar

    4. 自定义视图和动画:为了达到滑动菜单的平滑过渡效果,开发者可能自定义了滑动面板的视图,并利用Android的动画API(如ObjectAnimator或ValueAnimator)实现了滑入滑出动画。 5. 数据绑定和UI更新:如果...

    ios应用源码之支持从左右上下四个方向划出子视图的效果 2018128

    根据滑动方向,我们可以设置子视图的初始位置和目标位置,然后使用动画来改变其frame或transform属性,以达到划出或划入的效果。 为了实现子视图的显示和隐藏,我们可以使用`isHidden`属性,或者将其添加到父视图的...

    一个极度简单的类似侧边栏效果的Demo

    4. **动画(Animation)**:为了让过渡效果更加平滑,开发者可能会使用Core Animation或者UIView的动画相关API来实现侧边栏的滑入滑出动画。这通常涉及改变视图的frame、transform属性,并设置适当的动画时间、曲线...

    SlideBottomPanel底部划出视图.rar

    《SlideBottomPanel底部划出视图》是一款Android开发中的组件,用于实现从底部向上滑动显示的面板效果,常用于应用的导航、设置或者菜单功能。这个组件的设计灵感来源于许多流行的应用,如微信、支付宝等,它能为...

    js实现上下左右弹框划出效果

    在本文中,我们将深入探讨如何使用JavaScript和CSS来实现一个具有上下左右弹框划出效果的交互式界面。这种效果通常用于创建引人注目的用户体验,例如弹出对话框、菜单或者通知。以下是一个简单的实现步骤和关键代码...

    vue实现鼠标移过出现下拉二级菜单功能

    同时,可以使用 Vue 的过渡效果来增强用户体验,例如,让子菜单平滑地从父菜单下方滑出。 总结来说,Vue 实现鼠标移过出现下拉二级菜单功能的关键在于理解 Vue 的响应式系统、条件渲染和过渡动画。通过结合这些特性...

    html5触屏滑动侧边栏导航菜单特效

    它还可能用来自定义动画效果,如平滑的滑入滑出,使得用户界面更加流畅。 侧边栏导航菜单通常包含一系列链接,组织成层次结构,用于浏览网站的不同部分。在响应式设计中,它们在小屏幕设备上会折叠起来,只显示一个...

    用于美化C#侧边栏

    5. **动画和过渡效果**:为了让侧边栏更加动态,可以添加滑入、滑出、淡入淡出等动画效果。WPF在这方面提供了强大的支持,而Windows Forms也可以通过第三方库或自定义代码实现。 6. **样式和模板**:通过使用样式和...

    vue实现二级导航栏效果

    在现代Web开发中,为用户提供直观、易用的导航栏是构建友好界面的关键部分。Vue.js作为一个流行的前端JavaScript框架,可以帮助开发者以组件化的方式创建具有高度交互性的用户界面。本文将深入探讨如何利用Vue.js...

    非TouchDT的WIN8培训.pp

    上边缘滑入显示应用程序菜单。 - **双指滑动**:左右滑动使应用程序随之移动。 - **放大/缩小**:通过捏合或展开手指来放大或缩小图片/界面/页面。 - **旋转**:通过旋转手指来调整照片或应用程序的角度。 - **二指...

    仿爱淘宝分类伸缩jQuery导航

    总的来说,"仿爱淘宝分类伸缩jQuery导航"是一个利用jQuery库实现的交互式导航栏解决方案,它通过鼠标的划入和划出动作控制分类的显示与隐藏,提高了用户体验,同时也展现了jQuery在网页动态效果上的强大能力。...

    《程序天下:JavaScript实例自学手册》光盘源码

    22.1 实现关机效果的界面 22.2 关机特效(二) 22.3 评星效果 22.4 输入框自动完成功能 22.5 Ajax效果的字符串过滤 22.6 Gmail右上角的Loading效果 22.7 使用XMLHTTP获取天气预报 22.8 拖拽任意对象 22.9 避免打开...

    程序天下:JavaScript实例自学手册

    22.1 实现关机效果的界面 22.2 关机特效(二) 22.3 评星效果 22.4 输入框自动完成功能 22.5 Ajax效果的字符串过滤 22.6 Gmail右上角的Loading效果 22.7 使用XMLHTTP获取天气预报 22.8 拖拽任意对象 22.9 避免打开...

    星i的隐藏功能及常见问题解答.docx

    7. **3D特效界面**:长按主界面,三星i9100会展示一个炫酷的特效界面,上下滑动可以浏览主界面的缩略图和功能菜单。 8. **来电静音**:在开会等场合,来电时只需翻转手机,即可自动切换到静音模式。 9. **防误拨...

    多媒体创作工具Authorware.pptx

    - **擦除过渡效果** - 使用擦除图标设定内容消失的方式,如淡出、划出等。 - **定位显示** - 定义对象在展示窗口中的位置和大小。 **6.2.5 顺序播放型作品示例** 通过实际的ys602.a7p示例,用户可以更直观地理解...

Global site tag (gtag.js) - Google Analytics