package com.homer.rotate3d;
import java.util.concurrent.ThreadPoolExecutor.DiscardOldestPolicy;
import android.app.Activity;
import android.os.Bundle;
import android.util.DisplayMetrics;
import android.view.View;
import android.view.ViewGroup;
import android.widget.Button;
import android.widget.LinearLayout;
public class RotateActivity extends Activity {
private ViewGroup layoutmain;
private ViewGroup layoutnext;
private Button btn_MainLast;
private Button btn_MainNext;
private Button btn_NextLast;
private Button btn_NextNext;
private Rotate3D lQuest1Animation;
private Rotate3D lQuest2Animation;
private Rotate3D rQuest1Animation;
private Rotate3D rQuest2Animation;
private int mCenterX = 160; // 320x480 的宽一半
private int mCenterY = 240; // 320x480 的高一半
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
initAnimation();
initMain();
}
private void initMain(){
setContentView(R.layout.main);
layoutmain = (LinearLayout)findViewById(R.id.layout_main);
btn_MainLast = (Button)findViewById(R.id.main_last);
btn_MainNext = (Button)findViewById(R.id.main_next);
btn_MainLast.setOnClickListener(listener);
btn_MainNext.setOnClickListener(listener);
}
private void initNext(){
setContentView(R.layout.next);
layoutnext = (LinearLayout)findViewById(R.id.layout_next);
btn_NextLast = (Button)findViewById(R.id.next_last);
btn_NextNext = (Button)findViewById(R.id.next_next);
btn_NextLast.setOnClickListener(listener);
btn_NextNext.setOnClickListener(listener);
}
private View.OnClickListener listener = new View.OnClickListener() {
@Override
public void onClick(View v) {
switch (v.getId()) {
case R.id.main_last: // 上一页
layoutmain.startAnimation(lQuest1Animation); // 当前页向左旋转(0,-90)
initNext();
layoutnext.startAnimation(lQuest2Animation); // 下一页向左旋转(90, 0)
break;
case R.id.main_next: // 下一页
layoutmain.startAnimation(rQuest1Animation); // 当前页向右旋转(0,90)
initNext();
layoutnext.startAnimation(rQuest2Animation); // 下一页向右旋转(-90, 0)
break;
case R.id.next_last:
layoutnext.startAnimation(lQuest1Animation);
initMain();
layoutmain.startAnimation(lQuest2Animation);
break;
case R.id.next_next:
layoutnext.startAnimation(rQuest1Animation);
initMain();
layoutmain.startAnimation(rQuest2Animation);
break;
}
}
};
public void initAnimation() {
// 获取旋转中心
DisplayMetrics dm = new DisplayMetrics();
dm = getResources().getDisplayMetrics();
mCenterX = dm.widthPixels / 2;
mCenterY = dm.heightPixels / 2;
// 定义旋转方向
int duration = 1000;
lQuest1Animation = new Rotate3D(0, -90, mCenterX, mCenterY); // 下一页的【question1】旋转方向(从0度转到-90,参考系为水平方向为0度)
lQuest1Animation.setFillAfter(true);
lQuest1Animation.setDuration(duration);
lQuest2Animation = new Rotate3D(90, 0, mCenterX, mCenterY); // 下一页的【question2】旋转方向(从90度转到0,参考系为水平方向为0度)(起始第一题)
lQuest2Animation.setFillAfter(true);
lQuest2Animation.setDuration(duration);
rQuest1Animation = new Rotate3D(0, 90, mCenterX, mCenterY); // 上一页的【question1】旋转方向(从0度转到90,参考系为水平方向为0度)
rQuest1Animation.setFillAfter(true);
rQuest1Animation.setDuration(duration);
rQuest2Animation = new Rotate3D(-90, 0, mCenterX, mCenterY); // 上一页的【question2】旋转方向(从-90度转到0,参考系为水平方向为0度)
rQuest2Animation.setFillAfter(true);
rQuest2Animation.setDuration(duration);
}
}
没有合适的资源?快使用搜索试试~ 我知道了~
android 3d翻转
共26个文件
class:9个
xml:4个
java:3个
4星 · 超过85%的资源 需积分: 34 27 下载量 162 浏览量
2012-08-23
02:29:43
上传
评论
收藏 275KB ZIP 举报
温馨提示
android 3d 翻转特效,3dRotate animation.
资源推荐
资源详情
资源评论
收起资源包目录
Rotate3D.zip (26个子文件)
Rotate3D
.project 844B
project.properties 360B
proguard.cfg 1KB
src
com
homer
rotate3d
Rotate3D.java 2KB
RotateActivity.java 4KB
AndroidManifest.xml 747B
hs_err_pid3916.log 5KB
res
drawable
icon.png 63KB
layout
next.xml 1KB
main.xml 1KB
values
strings.xml 260B
assets
gen
com
homer
rotate3d
R.java 1KB
.classpath 364B
bin
resources.ap_ 64KB
classes
com
homer
rotate3d
R$layout.class 422B
RotateActivity$1.class 1KB
R$drawable.class 400B
Rotate3D.class 2KB
R$attr.class 340B
R$id.class 585B
RotateActivity.class 3KB
R.class 531B
R$string.class 462B
res
drawable
icon.png 60KB
classes.dex 7KB
Rotate3D.apk 69KB
共 26 条
- 1
资源评论
- yzdying2015-03-30可以学习了解下,很不错;。
- q56575802013-07-25只能说可以 效果不是理想中的那样
- 南码少年2013-12-16还是不错的,可以用...
- Double德2013-06-29还是不错的,可以用...
小明同学爱编程
- 粉丝: 6
- 资源: 14
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功