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
分享到:
相关推荐
图片伸缩效果常常用于实现图片的加载、缩放和动画效果。可以利用`ImageView`的`ScaleType`属性设置图片缩放方式,或者通过`Animation`类实现动态缩放效果。 7. **消息发送界面效果**: 消息发送界面通常包含...
同时,可以通过监听`DrawerLayout`的`onDrawerSlide()`回调来实现自定义的动画效果。 3. **交互逻辑**: - 可以添加一个滑动手势监听器,当用户从顶部或底部滑动时,触发抽屉的打开和关闭。 - 为了提供更好的用户...
QQ自动伸缩窗口源码是Android开发中的一个有趣实践,主要涉及到Android系统级别的窗口管理、动画效果实现以及自定义视图技术。这个源码提供了一个动态调整大小的窗口功能,适用于那些希望创建类似QQ聊天窗口自动展开...
1. `DynamicControls1.gif` 和 `DynamicControls2.gif` 可能是演示对话框伸缩功能的动画图像,展示在不同阶段对话框及控件的布局变化。 2. `DynamicControls.shtml.htm` 可能是一个HTML或HTM文件,包含了关于对话框...
本章重点介绍了如何利用VB进行多媒体编程,包括文字效果处理、播放动画以及使用特定的多媒体控件。 1. 多媒体编程基础 - MP3播放器示例:通过引入CommonDialog控件来选择文件,Slider控件控制播放进度,以及使用...
本章主要关注如何利用VB进行多媒体编程,包括文字效果、动画播放、以及更高级的多媒体控件的运用。 首先,VB中的多媒体控件是实现多媒体功能的关键。例如,MP3播放器的实现就用到了CommonDialog通用文件对话框,...
6.jQuery带Tips动画提示通用表单验证插件下载(jquery validate),动画效果漂亮 7.jQuery鼠标移到下载地址滑出气泡提示效果的插件 8.又一款jquery实现链接Tip演示下载 9.常用jQuery弹出式链接提示效果Tooltip...
Android例子源码模仿安卓微信、云播雷达扫描动画效果 Android例子源码类似58同城的通过滑屏控制引导页 Android例子源码计步器圆形UI设计 Android例子源码适合新手学习的listview使用源码 android及时通讯源码 ...
本章主要介绍了如何利用VB进行多媒体编程,涉及文字效果、动画播放以及特定多媒体控件的使用。 首先,我们关注的是一个MP3播放器的实例。该例子展示了如何集成常见的多媒体控件,如CommonDialog对话框用于文件选取...
1. **PopupWindow基本概念**:`PopupWindow`是Android SDK提供的一种轻量级的弹出窗口,它可以显示在屏幕的任何位置,并且可以设置背景透明度、动画效果等。它不同于Dialog,因为PopupWindow不依赖于Activity的根...
5. **动画效果**:为了提升用户体验,可以加入平滑的动画效果,如渐变式改变控件的大小。这需要使用Windows的消息定时器(`SetTimer()`和`KillTimer()`),并用`UpdateWindow()`或`InvalidateRect()`来刷新界面。 6...
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 ...
- **效果(Effects)**: 包含多种动画效果,如淡入淡出、滑动等,可以组合使用。 **3. API 和事件** jQuery UI 的每个组件都有一套完整的 API,包括方法、选项和事件。例如,Dialog 可以通过 `.dialog('open')` ...
jQuery 提供了简洁的DOM操作,事件处理和动画效果,使得JavaScript编程更为便捷。 接着,jQuery EasyUI 提供的组件包括: 1. **对话框(Dialog)**:用于显示独立的窗口,常用于弹出提示或表单填写。 2. **表格(Grid...
最后,为了让悬浮小球看起来像360的小球,可以在布局文件中设计一个圆形的ImageView,添加动画效果,或者通过编程方式动态改变小球的外观。 总结来说,实现Android仿360悬浮小球的核心步骤包括: 1. 添加`SYSTEM_...
ASP.NET MVC是一个强大的框架,用于构建可伸缩、高性能的Web应用程序。在ASP.NET MVC中,结合jQuery可以实现用户友好的交互式分页功能。在本篇内容中,我们将深入探讨如何利用jQuery在ASP.NET MVC项目中实现动态、...
|--ExpandableListView(下拉伸缩ListView) |--GridView表格布局的用法 |--httpclient超时 |--info体系 |--Intent启动应用apk安装 |--Intent常用功能 |--IO将输入流转成字节 |--Json读js资源文件 |--layout布局样式之...
在VC++环境中,MFC...这只是一个基础示例,实际应用中可能需要根据具体需求进行调整和优化,比如添加滚动、缩放、动画等效果。记住,理解MFC的基本工作原理和Windows图形设备接口(GDI)是实现这些功能的关键。
这包括DOM操作、事件处理、动画效果和Ajax请求等。 2. **组件库**:Easyui提供了大量的UI组件,如数据表格(datagrid)、下拉菜单(combobox)、对话框(dialog)、树形结构(tree)、表单(form)等。每个组件都有...