`

Dialog伸缩动画效果

 
阅读更多

ViewScale.java:
Java代码 
public class ViewScale extends Activity implements OnClickListener {  
 
    private LinearLayout mLayout;  
    private Animation mScaleIn, mScaleOut;  
 
    @Override 
    public void onCreate(Bundle savedInstanceState) {  
        super.onCreate(savedInstanceState);  
        setContentView(R.layout.main);  
        mScaleIn = AnimationUtils.loadAnimation(this, R.anim.scale_in);  
        mScaleOut = AnimationUtils.loadAnimation(this, R.anim.scale_out);  
        mLayout = (LinearLayout) findViewById(R.id.mLayout);  
        Button btn = (Button) findViewById(R.id.btn);  
        btn.setOnClickListener(this);  
 
        iv = new ImageView(ViewScale.this);  
        LinearLayout.LayoutParams mParam = new LinearLayout.LayoutParams(  
                LayoutParams.WRAP_CONTENT, LayoutParams.WRAP_CONTENT);  
        iv.setLayoutParams(mParam);  
        iv.setBackgroundResource(R.drawable.belle_frame);  
    }  
 
    private int i = 0;  
    private ImageView iv;  
 
    @Override 
    public void onClick(View v) {  
        if (i % 2 == 0) {  
            mLayout.addView(iv);  
            iv.startAnimation(mScaleOut);  
            mScaleOut.setAnimationListener(new AnimationListener() {  
                @Override 
                public void onAnimationStart(Animation animation) {  
                    // TODO Auto-generated method stub  
 
                }  
 
                @Override 
                public void onAnimationEnd(Animation animation) {  
                    // TODO Auto-generated method stub  
                    // mLayout.removeView(iv);  
                }  
 
                @Override 
                public void onAnimationRepeat(Animation animation) {  
                    // TODO Auto-generated method stub  
 
                }  
            });  
        } else {  
            iv.startAnimation(mScaleIn);  
            mScaleIn.setAnimationListener(new AnimationListener() {  
                @Override 
                public void onAnimationStart(Animation animation) {  
                    // TODO Auto-generated method stub  
 
                }  
 
                @Override 
                public void onAnimationEnd(Animation animation) {  
                    // TODO Auto-generated method stub  
                    mLayout.removeView(iv);  
                }  
 
                @Override 
                public void onAnimationRepeat(Animation animation) {  
                    // TODO Auto-generated method stub  
 
                }  
            });  
        }  
        i++;  
 
    }  
 


public class ViewScale extends Activity implements OnClickListener {

private LinearLayout mLayout;
private Animation mScaleIn, mScaleOut;

@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
mScaleIn = AnimationUtils.loadAnimation(this, R.anim.scale_in);
mScaleOut = AnimationUtils.loadAnimation(this, R.anim.scale_out);
mLayout = (LinearLayout) findViewById(R.id.mLayout);
Button btn = (Button) findViewById(R.id.btn);
btn.setOnClickListener(this);

iv = new ImageView(ViewScale.this);
LinearLayout.LayoutParams mParam = new LinearLayout.LayoutParams(
LayoutParams.WRAP_CONTENT, LayoutParams.WRAP_CONTENT);
iv.setLayoutParams(mParam);
iv.setBackgroundResource(R.drawable.belle_frame);
}

private int i = 0;
private ImageView iv;

@Override
public void onClick(View v) {
if (i % 2 == 0) {
mLayout.addView(iv);
iv.startAnimation(mScaleOut);
mScaleOut.setAnimationListener(new AnimationListener() {
@Override
public void onAnimationStart(Animation animation) {
// TODO Auto-generated method stub

}

@Override
public void onAnimationEnd(Animation animation) {
// TODO Auto-generated method stub
// mLayout.removeView(iv);
}

@Override
public void onAnimationRepeat(Animation animation) {
// TODO Auto-generated method stub

}
});
} else {
iv.startAnimation(mScaleIn);
mScaleIn.setAnimationListener(new AnimationListener() {
@Override
public void onAnimationStart(Animation animation) {
// TODO Auto-generated method stub

}

@Override
public void onAnimationEnd(Animation animation) {
// TODO Auto-generated method stub
mLayout.removeView(iv);
}

@Override
public void onAnimationRepeat(Animation animation) {
// TODO Auto-generated method stub

}
});
}
i++;

}

}



scale_out.xml:
Java代码 
<?xml version="1.0" encoding="utf-8"?>  
<set xmlns:android="http://schemas.android.com/apk/res/android">  
    <scale android:interpolator="@android:anim/accelerate_interpolator" 
        android:fromXScale="0.0" android:toXScale="1.0" android:fromYScale="0.0" 
        android:toYScale="1.0" android:pivotX="1%" android:pivotY="1%" 
        android:fillAfter="true" android:duration="400" />  
</set> 

<?xml version="1.0" encoding="utf-8"?>
<set xmlns:android="http://schemas.android.com/apk/res/android">
<scale android:interpolator="@android:anim/accelerate_interpolator"
android:fromXScale="0.0" android:toXScale="1.0" android:fromYScale="0.0"
android:toYScale="1.0" android:pivotX="1%" android:pivotY="1%"
android:fillAfter="true" android:duration="400" />
</set>


scale_in.xml:
Java代码 
<?xml version="1.0" encoding="utf-8"?>  
<set xmlns:android="http://schemas.android.com/apk/res/android">  
    <scale android:interpolator="@android:anim/accelerate_interpolator" 
        android:fromXScale="1.0" android:toXScale="0.0" android:fromYScale="1.0" 
        android:toYScale="0.0" android:pivotX="1%" android:pivotY="1%" 
        android:fillAfter="true" android:duration="400" />  
</set> 
  • 大小: 5.6 KB
分享到:
评论

相关推荐

    Android顶部、底部标签,自定义Dialog、Snackbar、Toast,悬浮按钮,展示图伸缩效果,发送消息界面效果,登录界面效果等。

    图片伸缩效果常常用于实现图片的加载、缩放和动画效果。可以利用`ImageView`的`ScaleType`属性设置图片缩放方式,或者通过`Animation`类实现动态缩放效果。 7. **消息发送界面效果**: 消息发送界面通常包含...

    Android之抽屉效果的下拉菜单(上下伸缩和展开)

    同时,可以通过监听`DrawerLayout`的`onDrawerSlide()`回调来实现自定义的动画效果。 3. **交互逻辑**: - 可以添加一个滑动手势监听器,当用户从顶部或底部滑动时,触发抽屉的打开和关闭。 - 为了提供更好的用户...

    QQ自动伸缩窗口源码

    QQ自动伸缩窗口源码是Android开发中的一个有趣实践,主要涉及到Android系统级别的窗口管理、动画效果实现以及自定义视图技术。这个源码提供了一个动态调整大小的窗口功能,适用于那些希望创建类似QQ聊天窗口自动展开...

    对话框伸缩 源码

    1. `DynamicControls1.gif` 和 `DynamicControls2.gif` 可能是演示对话框伸缩功能的动画图像,展示在不同阶段对话框及控件的布局变化。 2. `DynamicControls.shtml.htm` 可能是一个HTML或HTM文件,包含了关于对话框...

    VisualBasic程序设计之多媒体编程初步.pptx

    本章重点介绍了如何利用VB进行多媒体编程,包括文字效果处理、播放动画以及使用特定的多媒体控件。 1. 多媒体编程基础 - MP3播放器示例:通过引入CommonDialog控件来选择文件,Slider控件控制播放进度,以及使用...

    多媒体课件(11).pptx

    本章主要关注如何利用VB进行多媒体编程,包括文字效果、动画播放、以及更高级的多媒体控件的运用。 首先,VB中的多媒体控件是实现多媒体功能的关键。例如,MP3播放器的实现就用到了CommonDialog通用文件对话框,...

    JQuery&CSS;&CSS;+DIV实例大全.rar

    6.jQuery带Tips动画提示通用表单验证插件下载(jquery validate),动画效果漂亮 7.jQuery鼠标移到下载地址滑出气泡提示效果的插件 8.又一款jquery实现链接Tip演示下载 9.常用jQuery弹出式链接提示效果Tooltip...

    Android-app.rar

    Android例子源码模仿安卓微信、云播雷达扫描动画效果 Android例子源码类似58同城的通过滑屏控制引导页 Android例子源码计步器圆形UI设计 Android例子源码适合新手学习的listview使用源码 android及时通讯源码 ...

    2022年优秀-VisualBasic程序设计之多媒体编程初步.pptx

    本章主要介绍了如何利用VB进行多媒体编程,涉及文字效果、动画播放以及特定多媒体控件的使用。 首先,我们关注的是一个MP3播放器的实例。该例子展示了如何集成常见的多媒体控件,如CommonDialog对话框用于文件选取...

    Android用PopupWindow实现新浪微博的分组信息

    1. **PopupWindow基本概念**:`PopupWindow`是Android SDK提供的一种轻量级的弹出窗口,它可以显示在屏幕的任何位置,并且可以设置背景透明度、动画效果等。它不同于Dialog,因为PopupWindow不依赖于Activity的根...

    VC对话框可扩展收缩的程序界面编程

    5. **动画效果**:为了提升用户体验,可以加入平滑的动画效果,如渐变式改变控件的大小。这需要使用Windows的消息定时器(`SetTimer()`和`KillTimer()`),并用`UpdateWindow()`或`InvalidateRect()`来刷新界面。 6...

    Android 开发技巧

    6.1.3、尺寸伸缩动画效果 scale 162 6.1.4、位置转移动画效果 translate 163 6.1.5、四种动画效果的调用 164 7、异步调用 167 开辟一个线程: 167 THREAD: 168 HANDER 170 TIMER 173 ANDROID 界面刷新 174 MESSAGE ...

    jquery-ui-1.9.2

    - **效果(Effects)**: 包含多种动画效果,如淡入淡出、滑动等,可以组合使用。 **3. API 和事件** jQuery UI 的每个组件都有一套完整的 API,包括方法、选项和事件。例如,Dialog 可以通过 `.dialog('open')` ...

    jQueryEasyUI应用实例代码以及api

    jQuery 提供了简洁的DOM操作,事件处理和动画效果,使得JavaScript编程更为便捷。 接着,jQuery EasyUI 提供的组件包括: 1. **对话框(Dialog)**:用于显示独立的窗口,常用于弹出提示或表单填写。 2. **表格(Grid...

    Android仿360悬浮小球自定义view实现示例

    最后,为了让悬浮小球看起来像360的小球,可以在布局文件中设计一个圆形的ImageView,添加动画效果,或者通过编程方式动态改变小球的外观。 总结来说,实现Android仿360悬浮小球的核心步骤包括: 1. 添加`SYSTEM_...

    asp.net mvc基于jquery分页

    ASP.NET MVC是一个强大的框架,用于构建可伸缩、高性能的Web应用程序。在ASP.NET MVC中,结合jQuery可以实现用户友好的交互式分页功能。在本篇内容中,我们将深入探讨如何利用jQuery在ASP.NET MVC项目中实现动态、...

    黑马程序员 安卓学院 万元哥项目经理 分享220个代码实例

    |--ExpandableListView(下拉伸缩ListView) |--GridView表格布局的用法 |--httpclient超时 |--info体系 |--Intent启动应用apk安装 |--Intent常用功能 |--IO将输入流转成字节 |--Json读js资源文件 |--layout布局样式之...

    VC++对话框程序picture控件图像重绘

    在VC++环境中,MFC...这只是一个基础示例,实际应用中可能需要根据具体需求进行调整和优化,比如添加滚动、缩放、动画等效果。记住,理解MFC的基本工作原理和Windows图形设备接口(GDI)是实现这些功能的关键。

    Easyui中文文档.chm

    这包括DOM操作、事件处理、动画效果和Ajax请求等。 2. **组件库**:Easyui提供了大量的UI组件,如数据表格(datagrid)、下拉菜单(combobox)、对话框(dialog)、树形结构(tree)、表单(form)等。每个组件都有...

Global site tag (gtag.js) - Google Analytics