- 浏览: 1225682 次
- 性别:
- 来自: 荆州
文章分类
- 全部博客 (396)
- Android 基础 (72)
- Java 基础 (42)
- Android(动画效果) (26)
- Android(自定义组件) (13)
- Android(手机服务) (38)
- Android(网络相关) (27)
- Android(多媒体) (12)
- Android(小技巧) (30)
- Android(用户界面) (39)
- 基础概念 (24)
- Android组件学习 (21)
- Android数据库相关 (11)
- 生活杂谈 (10)
- 调试技巧部分 (8)
- Sql Server相关 (1)
- Android(xml相关) (2)
- Android 开发 (12)
- 韩语学习 (4)
- Mac添加环境变量的三种方法 (1)
- iPhone开发 (1)
- Android Studio (1)
最新评论
-
ppfbsar:
下载网络文件到SD卡上 -
851228082:
好文!彻底理解单类型导入与按需导入的区别了。还有一点可以通过 ...
谈java的导入(import) -
麦田的设计者:
老乡啊
sqlite 数据库保存图片 -
sf_dream:
我要是读写list、map之类的集合呢
ObjectOutputStream和ObjectInputStream类的学习 -
xfyunyun:
博主,请问webview加载html字符串时怎么进行缓存处理呢 ...
WebView使用总结2(加载HTML内容形式的String)
先上个效果图(跟自己Blog中的浏览图片的代码类似,不过是layout之间切换)
相信这个效果很多人都需要,现在共享在这里供大家学习:
1.Layout3D.java
2.Rotate3d.java
3.main.xml
4.mylayout.xml
相信这个效果很多人都需要,现在共享在这里供大家学习:
1.Layout3D.java
package cn.com; import android.app.Activity; import android.os.Bundle; import android.view.View; import android.view.ViewGroup; import android.widget.Button; public class Layout3D extends Activity { private int mCenterX = 160; private int mCenterY = 0; private ViewGroup layout1; private ViewGroup layout2; private Rotate3d leftAnimation; private Rotate3d rightAnimation; /** Called when the activity is first created. */ @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); initFirst(); layout1 = (ViewGroup) findViewById(R.id.layout1); Button b1 = (Button) findViewById(R.id.button1); b1.setEnabled(true); b1.setOnClickListener(new Button.OnClickListener() { public void onClick(View v) { leftMoveHandle(); v.setEnabled(false); } }); } public void initFirst(){ leftAnimation = new Rotate3d(0, -90, 0.0f, 0.0f, mCenterX, mCenterY); rightAnimation = new Rotate3d(90, 0, 0.0f, 0.0f, mCenterX, mCenterY); leftAnimation.setFillAfter(true); leftAnimation.setDuration(1000); rightAnimation.setFillAfter(true); rightAnimation.setDuration(1000); } public void initSecond(){ leftAnimation = new Rotate3d(-90, 0, 0.0f, 0.0f, mCenterX, mCenterY); rightAnimation = new Rotate3d(0, 90, 0.0f, 0.0f, mCenterX, mCenterY); leftAnimation.setFillAfter(true); leftAnimation.setDuration(1000); rightAnimation.setFillAfter(true); rightAnimation.setDuration(1000); } public void jumpToLayout1(Rotate3d leftAnimation) { setContentView(R.layout.main); layout1 = (ViewGroup) findViewById(R.id.layout1); layout1.startAnimation(leftAnimation); Button b1 = (Button) findViewById(R.id.button1); b1.setEnabled(true); b1.setOnClickListener(new Button.OnClickListener() { public void onClick(View v) { leftMoveHandle(); } }); } public void jumpToLayout2(Rotate3d rightAnimation) { setContentView(R.layout.mylayout); layout2 = (ViewGroup) findViewById(R.id.layout2); layout2.startAnimation(rightAnimation); Button b2 = (Button) findViewById(R.id.button2); b2.setEnabled(true); b2.setOnClickListener(new Button.OnClickListener() { public void onClick(View v) { rightMoveHandle(); } }); } public void leftMoveHandle() { initFirst(); layout1.startAnimation(leftAnimation); jumpToLayout2(rightAnimation); } public void rightMoveHandle() { initSecond(); layout2.startAnimation(rightAnimation); jumpToLayout1(leftAnimation); } }
2.Rotate3d.java
package cn.com; import android.graphics.Camera; import android.graphics.Matrix; import android.view.animation.Animation; import android.view.animation.Transformation; public class Rotate3d extends Animation { private float mFromDegree; private float mToDegree; private float mCenterX; private float mCenterY; private float mLeft; private float mTop; private Camera mCamera; private static final String TAG = "Rotate3d"; public Rotate3d(float fromDegree, float toDegree, float left, float top, float centerX, float centerY) { this.mFromDegree = fromDegree; this.mToDegree = toDegree; this.mLeft = left; this.mTop = top; this.mCenterX = centerX; this.mCenterY = centerY; } @Override public void initialize(int width, int height, int parentWidth, int parentHeight) { super.initialize(width, height, parentWidth, parentHeight); mCamera = new Camera(); } @Override protected void applyTransformation(float interpolatedTime, Transformation t) { final float FromDegree = mFromDegree; float degrees = FromDegree + (mToDegree - mFromDegree) * interpolatedTime; final float centerX = mCenterX; final float centerY = mCenterY; final Matrix matrix = t.getMatrix(); if (degrees <= -76.0f) { degrees = -90.0f; mCamera.save(); mCamera.rotateY(degrees); mCamera.getMatrix(matrix); mCamera.restore(); } else if (degrees >= 76.0f) { degrees = 90.0f; mCamera.save(); mCamera.rotateY(degrees); mCamera.getMatrix(matrix); mCamera.restore(); } else { mCamera.save(); // mCamera.translate(0, 0, centerX); mCamera.rotateY(degrees); mCamera.translate(0, 0, -centerX); mCamera.getMatrix(matrix); mCamera.restore(); } matrix.preTranslate(-centerX, -centerY); matrix.postTranslate(centerX, centerY); } }
3.main.xml
<?xml version="1.0" encoding="utf-8"?> <RelativeLayout android:layout_width="fill_parent" android:id="@+id/layout1" android:layout_height="fill_parent" android:background="@drawable/black" xmlns:android="http://schemas.android.com/apk/res/android"> <Button android:id="@+id/button1" android:layout_width="118px" android:layout_height="wrap_content" android:text="Go to Layout2"> </Button> <TextView android:id="@+id/text1" android:textSize="24sp" android:layout_width="186px" android:layout_height="29px" android:text="@string/layout1" android:layout_below="@+id/button1"></TextView> </RelativeLayout>
4.mylayout.xml
<?xml version="1.0" encoding="utf-8"?> <RelativeLayout android:layout_width="fill_parent" android:id="@+id/layout2" android:layout_height="fill_parent" android:background="@drawable/white" xmlns:android="http://schemas.android.com/apk/res/android"> <Button android:id="@+id/button2" android:layout_width="118px" android:layout_height="wrap_content" android:text="Go to Layout1"> </Button> <TextView android:id="@+id/text2" android:textSize="24sp" android:layout_width="186px" android:layout_height="29px" android:textColor="@drawable/black" android:text="@string/layout2" android:layout_below="@+id/button2"> </TextView> </RelativeLayout>
评论
3 楼
andliy
2011-02-25
楼主V5 学习了!
2 楼
crazier9527
2010-12-07
谢谢分享~
1 楼
edison_cool911
2010-07-26
<?xml version="1.0" encoding="utf-8"?>
<resources>
<drawable name="black">#000000</drawable>
<drawable name="white">#FFFFFFFF</drawable>
</resources>
这个是color.xml没附上
<resources>
<drawable name="black">#000000</drawable>
<drawable name="white">#FFFFFFFF</drawable>
</resources>
这个是color.xml没附上
发表评论
-
自定义ProgressDialog
2013-04-21 15:58 1179就2段关键代码: <?xml version=&qu ... -
弹性 ScrollView
2013-04-21 15:14 1432CustomerScrollView.java: clas ... -
走马灯效果文字
2012-02-15 16:05 1914走马灯效果的代码,对Tex ... -
API DEMO中3D旋转Layout效果
2011-12-08 13:07 3036LayoutChange.java: package cn ... -
自定义Loading Dialog
2011-09-12 21:00 2734好久没有更新blog,这段时间忙着换工作的事情,现在赶紧的拾掇 ... -
关于旋转动画效果
2011-05-01 17:13 2266好久没有写过blog了,5.1还在继续劳动,:( 刚研究完一个 ... -
Dialog伸缩动画效果
2011-01-13 14:45 6616效果图: ViewScale.java: publ ... -
球体旋转Anim(主要学习点Matrix知识)
2010-12-09 20:20 2124这点Code主要对View重写进行球体旋转: 知识点: 1.重 ... -
Anim中实现Scale和Alpha操作ImageView
2010-12-09 19:51 2881针对这个动画效果的应用,可以了解如下几个知识点: 1.几种动画 ... -
Image的放大,缩小(zoom in,zoom out)
2010-09-15 10:51 3390package com.example; impor ... -
TextView中各种Interpolator的使用
2010-09-09 13:07 3563package net.blogjava.mobile.i ... -
点击button拖动效果
2010-09-09 10:05 1624这个简单的代码段可以熟悉getX(),getRawX()等方法 ... -
API中画arc的简单代码
2010-09-07 14:45 1548package com.test; import a ... -
文本抖动效果
2010-09-05 21:58 2889几句代码如下: Animation animation = ... -
球体运动效果
2010-08-14 22:42 1782看个效果图: 自定义的View: package ... -
关于Drawable动画效果的实现demo(参考ray的博客例子)
2010-08-12 23:09 3130直接上代码把,上面都写了很清楚的注释: package c ... -
一种动画2中不同实现方式(代码和xml)
2010-08-05 21:01 1472AnimTwo.java文件: package cn.co ... -
Activity之间切换的各种效果(遗憾没有3D的效果)
2010-08-05 19:25 7206下面的Demo是我找到的一个觉得用来在程序中进行Activit ... -
ImageView点击透明度变化效果
2010-07-26 20:53 46421. ClickAlphaChange.java文件 pa ... -
图片3D浏览的Demo
2010-07-26 14:21 2205这是个图片浏览的例子; 刚在群里一个家伙给提供的思路: 1. ...
相关推荐
5. **布局与响应式设计**: 为了适应不同屏幕尺寸和设备方向,开发者需要考虑Auto Layout或Size Classes来确保翻页效果在各种设备上都能正确显示。同时,还要处理手势识别,比如滑动来手动切换时间页面。 6. **编程...
可以利用GridLayoutGroup或者GridLayoutManager来布局这些Image组件,使其在界面上以3D效果排列。 3. 光照处理:为了使照片看起来更真实,需要考虑光照的影响。Unity3D提供了多种光源类型,如Directional Light...
4. **GridLayout Group** 和 **Flexbox Layout Group**:布局管理器,用于自动排列UI元素。 5. **Scroll View**:滚动视图,用于展示大量内容。 通过研究这些示例,开发者不仅可以掌握UGUI的基本使用,还能了解如何...
5. **布局系统**:Unity UGUI提供了多种布局组(Layout Group),如Horizontal Layout Group和Vertical Layout Group,可以自动管理子元素的排列方式,实现网格布局、列表布局等效果。 6. **CanvasScaler**:这个...
通过设置其数据源(datasource)和代理(delegate),我们可以控制翻页的方向、页面数量以及如何在页面之间切换。 然而,"很炫的翻页效果"可能不仅仅局限于UIPageViewController的标准实现。为了达到更个性化的效果...
在Unity中,可以使用`ScrollRect`组件配合适当的布局组(如`HorizontalLayoutGroup`或`VerticalLayoutGroup`)来创建这样的效果。 2. **滑动翻页**: 滑动翻页功能是UI设计中常见的元素,特别是在展示多页内容时。...
轮播图的动画效果可以通过修改frame或使用CATransform3D来实现平滑的过渡。还可以添加自动轮播功能,通过定时器每隔一段时间触发滚动。 总的来说,Swift的界面搭建提供了丰富的工具和灵活性,无论是使用Interface ...
NGUI图文混排的实现是其核心特性之一,它允许开发者在界面上灵活地组合文字和图像,创造出各种复杂的布局效果。下面将详细探讨NGUI图文混排的相关知识点。 1. **NGUI概述**: NGUI(Natural GUI)是由Tasharen ...
逐帧动画在Android中通过`AnimationDrawable`类来实现,它是一个可绘制对象,可以作为视图背景,每帧是一张图片,通过连续切换这些图片来创建动画效果。首先,我们需要准备一系列的图片资源,通常命名为如"frame1....
视图切换类-3D浏览器 视图切换类--zaker应用进入画面效果 视图切换之视图切换大小渐变效果 手势交互--物体根据重力感应运动 手势交互之Drag View 手势交互之Touch Visualizer 图表类 图表--百分比圆环 图表类--...
6. Layout Components:如RectTransform、GridLayoutGroup、HorizontalLayoutGroup和VerticalLayoutGroup,用于布局管理,帮助自动调整UI元素的位置和大小。 7. Event System:负责处理用户输入,如鼠标点击、触摸...
这些动画包括3D翻转、旋转、平移等,使用户在切换页面时感受到更生动的视觉体验。要使用`JazzyViewPager`,我们需要在项目中引入它的依赖。这通常通过在`build.gradle`文件中添加对应的`maven`或`jcenter`仓库URL,...
Cocos2d-x是一款强大的开源游戏开发框架,广泛应用于2D和3D游戏的制作,尤其在移动平台如iOS、Android以及Windows Phone上表现突出。它基于C++,提供了多种编程语言接口,包括C++、Lua和JavaScript,使得开发者可以...
Android3D游戏开发付费视频教程共享(更新第四集) 史上最全示例Android教学视频,非常值得观看 Android游戏开发系列源码+CHM+书籍截图+目录】 Android developer guide中文翻译文档 Android开发开发技巧之 EditText...
1,01.zip MFC Extension Library MFC扩展界面库, 使用Visual C++ 6.0(15KB)<END><br>2,02.zip Visual Studio style UI Visual Studio风格的界面效果(15KB)<END><br>3,03.zip Internet Explorer 4 ...