首页 > 编程知识 正文

proe怎么移动画面,proe如何旋转到想要的视图

时间:2023-05-06 00:29:25 阅读:108425 作者:1955

简介ViewFlipper是安卓附带的多页面管理控件,可以自动播放。 与ViewPager不同,ViewPager继承自ViewGroup,每页具有动画效果,与低版本兼容,而ViewFlipper继承了ViewAnimator并进行分层这是Android 4.0中首次引入的新控件。 使用场景与ViewPager基本相同,大多数情况下用于实现进入APP区后的引导页,以及图像传送带显示。

33558 www.Sina.com/setinanimation :在view进入屏幕时使用动画;

setOutAnimation:View退出屏幕时使用动画;

显示下一个:显示视图文件的下一个视图视图;

显示预览:显示视图文件的上一个视图视图;

setflipinterval :视图之间切换的时间间隔;

setAutoStart :是否可以自动播放,true为自动播放,false不自动播放;

开始播放:自动循环切换播放;

停止播放:停止自动切换播放;

http://www.Sina.com/http://www.Sina.com /

静态导入是将每个页面添加到ViewFlipper的中间,如下所示!

view flipper Android : id=' @ id/VF _ help ' Android : layout _ width=' match _ parent ' Android 3360 layout _ heighed right _ in ' Android 3360 out animation=' @ anim/right _ out ' include layout=' @ layout/page _ help _ one '/include

动态导入是用addView方法填充View,如下所示!

mvfhelp=(viewflipper ) findviewbyid ) r.id.VF_help; for(intI=0; i resId.length; I ) ) mvfhelp.addview(getimageview ) resid[I] ); } http://www.Sina.com/http://www.Sina.com /

http://www.Sina.com/http://www.Sina.com /

常用方法

? XML version=' 1.0 ' encoding=' utf-8 '? setxmlns 3360 Android=' http://schemas.Android.com/apk/RES/Android ' translate Android 3360 duration=' 1000 ' Android

? XML version=' 1.0 ' encoding=' utf-8 '? setxmlns 3360 Android=' http://schemas.Android.com/apk/RES/Android ' translate Android 3360 duration=' 1000 ' Android

? XML version=' 1.0 ' encoding=' utf-8 '? linearlayoutxmlns 3360 Android=' http://schemas.Android.com/apk/RES/Android ' Android 3360 layout _ width=' match _

rent" android:orientation="vertical"> <ViewFlipper android:id="@+id/vf_help" android:layout_width="match_parent" android:layout_height="match_parent" android:flipInterval="3000" android:inAnimation="@anim/right_in" android:outAnimation="@anim/right_out"> <include layout="@layout/page_help_one" /> <include layout="@layout/page_help_two" /> <include layout="@layout/page_help_three" /> <include layout="@layout/page_help_four" /> </ViewFlipper></LinearLayout>

Java文件调用:

public class MethodOneActivity extends BaseActivity { private ViewFlipper mVfHelp; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_method_one); mVfHelp = (ViewFlipper) findViewById(R.id.vf_help); mVfHelp.startFlipping(); }} 支持手势滑动的ViewFlipper - 动态导入

切换动画:

1.left_in.xml

<?xml version="1.0" encoding="utf-8"?><set xmlns:android="http://schemas.android.com/apk/res/android"> <translate android:duration="1000" android:fromXDelta="-100%p" android:toXDelta="0" /></set>

2.left_out.xml

<?xml version="1.0" encoding="utf-8"?><set xmlns:android="http://schemas.android.com/apk/res/android"> <translate android:duration="1000" android:fromXDelta="0" android:toXDelta="100%p" /></set>

布局文件:

<?xml version="1.0" encoding="utf-8"?><LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="match_parent" android:orientation="vertical"> <ViewFlipper android:id="@+id/vf_help" android:layout_width="match_parent" android:layout_height="match_parent" /></LinearLayout>

Java文件调用:

private void initData() { //实例化SimpleOnGestureListener与GestureDetector对象 mgListener = new MyGestureListener(); mDetector = new GestureDetector(mActivity, mgListener); //动态添加子View for (int i = 0; i < resId.length; i++) { mVfHelp.addView(getImageView(resId[i])); }}/** * @Description 重写onTouchEvent触发MyGestureListener里的方法 */@Overridepublic boolean onTouchEvent(MotionEvent event) { return mDetector.onTouchEvent(event);}/** * @Description 自定义一个View类下的GestureDetector */private class MyGestureListener extends GestureDetector.SimpleOnGestureListener { @Override public boolean onFling(MotionEvent e1, MotionEvent e2, float v, float v1) { if (e1.getX() - e2.getX() > MIN_MOVE) { mVfHelp.setInAnimation(mActivity, R.anim.right_in); mVfHelp.setOutAnimation(mActivity, R.anim.right_out); mVfHelp.showNext(); } else if (e2.getX() - e1.getX() > MIN_MOVE) { mVfHelp.setInAnimation(mActivity, R.anim.left_in); mVfHelp.setOutAnimation(mActivity, R.anim.left_out); mVfHelp.showPrevious(); } return true; }}

项目地址 ☞ 传送门

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。