以前一直觉得这个开门效果很炫,今天自己也做了一个,具体做法就是弄两个Imageview 加上两个 动画效果。需要注意的就是不同手机屏幕大小适配的问题,编码中已解决,希望各位有意见的可提出。

package com.test;import android.app.Activity;
import android.content.Context;
import android.os.Bundle;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup.LayoutParams;
import android.view.animation.Animation;
import android.view.animation.TranslateAnimation;
import android.widget.ImageView;
import android.widget.LinearLayout;
import android.widget.Toast;public class AntActivity extends Activity {private Context context;@Overridepublic void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.main);this.context = this;/**** 特别说明这两行代码,当加载一个布局文件的时候请使用以下方法导入。* 如导入main.xml这个布局文件的时候用以下方法。* 不要使用 以下代码  如*  LinearLayout ll = (LinearLayout) this.findViewById(R.layout.main);*  因为main这个布局不是main.xml 文件下的一个布局,所以如果使用上一行代码的话 会报空指针的*  简单说,如果导入的是一个布局文件 那么使用LayoutInflater  如果加载的是一个布局文件中的子布局,使用findviewbyid()*/LayoutInflater inflater = LayoutInflater.from(this);LinearLayout ll = (LinearLayout) inflater.inflate(R.layout.main,null);/*****************************************************************************************/Animation animation = new TranslateAnimation(0, -getWindowManager().getDefaultDisplay().getWidth(), 0, 0);//向左移动的动画效果animation.setDuration(5000);//设置动画过程时间animation.setStartOffset(1000);//设置动画延时时间//一秒后开Animation animation1 = new TranslateAnimation(0,(float) (getWindowManager().getDefaultDisplay().getWidth()),0 ,0);//向右移动的动画效果animation1.setStartOffset(1000);animation1.setDuration(5000);final ImageView tt = new ImageView(this);tt.setLayoutParams(new LayoutParams(getWindowManager().getDefaultDisplay().getWidth()/2,getWindowManager().getDefaultDisplay().getHeight()));//设置改ImageView 的大小,宽为屏幕的一半,高为屏幕的高度//这样做的好处可以对不同屏幕分辨率进行适配tt.setBackgroundResource(R.drawable.tt_1);//设置背景final ImageView tt1 = new ImageView(this);tt1.setLayoutParams(new LayoutParams(getWindowManager().getDefaultDisplay().getWidth()/2,getWindowManager().getDefaultDisplay().getHeight()));tt1.setBackgroundResource(R.drawable.tt_2);tt1.setAnimation(animation1);//设置动画效果tt.setAnimation(animation);//设置动画效果animation.setAnimationListener(new Animation.AnimationListener() {//设置动画监听@Overridepublic void onAnimationStart(Animation animation) {//动画状态开始// TODO Auto-generated method stubToast.makeText(context, "I'm begin", 0).show();//日志提示开始了//如果想开们效果中出现锯齿效果,在动画开始时,在本位置,将ImageView 的背景置换一下就可以了}@Overridepublic void onAnimationRepeat(Animation animation) {// TODO Auto-generated method stub}@Overridepublic void onAnimationEnd(Animation animation) {//动画状态结束// TODO Auto-generated method stubtt.setVisibility(View.GONE);//设置改控件隐藏,当然你也可以在结束这个位置放置其他处理。}});/*** 与上一个监听一样*/animation1.setAnimationListener(new Animation.AnimationListener() {@Overridepublic void onAnimationStart(Animation animation) {}@Overridepublic void onAnimationRepeat(Animation animation) {}@Overridepublic void onAnimationEnd(Animation animation) {tt1.setVisibility(View.GONE);}});ll.addView(tt);ll.addView(tt1);this.setContentView(ll);//设置显示的布局内容}
}

布局文件

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"android:layout_width="fill_parent"android:layout_height="fill_parent"android:orientation="horizontal" ><TextViewandroid:layout_width="fill_parent"android:layout_height="fill_parent"android:text="@string/hello"android:visibility="gone" /></LinearLayout>

android 实现微信的开门效果相关推荐

  1. android仿微信的activity平滑水平切换动画,Android实现简单底部导航栏 Android仿微信滑动切换效果...

    Android实现简单底部导航栏 Android仿微信滑动切换效果 发布时间:2020-10-09 19:48:00 来源:脚本之家 阅读:96 作者:丶白泽 Android仿微信滑动切换最终实现效果 ...

  2. Android仿微信头像放大效果

    android仿微信头像放大效果,使用Dialog+Gallery 实现 1.  dialog显示时的动画style,动画可以自己根据喜好自己设置,此处动画xml省略 <style name=& ...

  3. php仿微信底部菜单,Android实现简单底部导航栏 Android仿微信滑动切换效果

    Android仿微信滑动切换最终实现效果: 大体思路: 1. 主要使用两个自定义View配合实现; 底部图标加文字为一个自定义view,底部导航栏为一个载体,根据需要来添加底部图标; 2. 底部导航栏 ...

  4. android滑动菜单图标,Android实现简单底部导航栏 Android仿微信滑动切换效果

    Android仿微信滑动切换最终实现效果: 大体思路: 1. 主要使用两个自定义View配合实现; 底部图标加文字为一个自定义view,底部导航栏为一个载体,根据需要来添加底部图标; 2. 底部导航栏 ...

  5. android 底部滑动效果怎么做,Android实现简单底部导航栏 Android仿微信滑动切换效果...

    android仿微信滑动切换最终实现效果: 大体思路: 1. 主要使用两个自定义view配合实现; 底部图标加文字为一个自定义view,底部导航栏为一个载体,根据需要来添加底部图标; 2. 底部导航栏 ...

  6. android 表情键盘切换,Android仿微信键盘切换效果

    Android 仿微信的键盘切换(录音,表情,文字,其他),IM通讯,类似朋友圈只要涉及到文字等相关的app都会要涉及到键盘的处理,今天就给大家分享一下Android 仿微信的键盘切换. 效果图如下: ...

  7. android仿微信相册的效果

    最近好学宝的项目中,作品管理需要微信相册的那种效果. 在网上找了一个组件效果不错,整理如下: 基本思路 1,首先从Thumbnails中把略缩图地址拿出来用GridView显示出来 2,如果没有该略缩 ...

  8. android仿微信雷达 头像效果 自定义view

    ScreeningRadarView public class ScreeningRadarView extends View {// 定义画笔Paint paint;float radiusDiff ...

  9. Android 仿微信“正在输入...”效果快速实现

    第一步 声明"正在输入..."文字的几个状态.textview.索引: private int indexText = 0;private TextView textView;pr ...

最新文章

  1. android有关的笔记,android学习笔记1——webview相关
  2. dart系列之:安全看我,dart中的安全特性null safety
  3. 笔记,Vector类模板的基本功能
  4. 牛客网Java刷题知识点之关键字static、static成员变量、static成员方法、static代码块和static内部类...
  5. cocos2dx 圆盘抽奖_cocoscreator之微信小游戏的抽奖转盘
  6. 【Android开发—智能家居系列】(三):手机连接WIFI模块
  7. PHP 验证IP的合法性
  8. 人工智能——皇帝的新脑还是人类的终结(学习笔记)
  9. pyc文件反编译成py文件
  10. 高频功率放大器的设计实现
  11. 虚拟机设置共享文件夹之后看不见文件(失败合集+成功分享)
  12. 如何在Mac上查找WiFi密码并在iPhone上共享它?
  13. MNL——多项Logit模型学习笔记(二)
  14. 但见新人笑,那闻旧人哭,大衣哥前儿媳陈亚楠好可怜
  15. 十诫诗串词_持续交付的十诫
  16. C/C++ free(NULL)的思考
  17. Windows Server2012远程桌面服务配置和授权激活
  18. 【我的Android进阶之旅】 Android Studio插件之Jenkins插件介绍
  19. 依据OSI模型整理的CAN总线备忘录
  20. MultipartFile的transferTo方法的坑

热门文章

  1. web微信js WechatWeb js方法
  2. MySQL8.0窗口函数之排名函数(rank、dense_rank)的使用
  3. zigbee 定位
  4. kingscada连接mysql_KingSCADA初级教程 第八章 与数据库连接
  5. 上网速度太慢?这样设置可以提升60%的上网速度!
  6. 如何成为一名真正的数据分析师或者数据工程师
  7. css让span标签强制换行
  8. 计算机课的万能导入,浅谈小学信息技术课的导入技巧
  9. LCD 3LCD DLP LED投影仪成像原理
  10. 基于ATMEGA8A_AVR单片机温度测控系统proteus仿真