php短视频系统,九宫格转场动画实现

it2025-12-06  8

php短视频系统,九宫格转场动画实现,先看下跳转界面的代码

package com.example.hubenkui.myapplication; import android.content.Intent; import android.os.Bundle; import android.support.v4.app.ActivityOptionsCompat; import android.support.v4.app.FragmentActivity; import android.view.View; import android.widget.ImageView; import java.util.List; import java.util.Map; public class MainActivity extends FragmentActivity { private String name = "name"; private ImageView mImageView; @Override protected void onCreate(final Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); mImageView = (ImageView) findViewById(R.id.icon_image); mImageView.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { Intent intent =new Intent(MainActivity.this,SecondActivity.class); MainActivity.this.startActivity(intent, ActivityOptionsCompat.makeSceneTransitionAnimation(MainActivity.this, v, name).toBundle()); } }); setExitSharedElementCallback(new android.support.v4.app.SharedElementCallback() { @Override public void onMapSharedElements(List<String> names, Map<String, View> sharedElements) { // super.onMapSharedElements(names, sharedElements); names.clear(); sharedElements.clear(); sharedElements.put("name",mImageView); } }); } @Override public void onActivityReenter(int resultCode, Intent data) { super.onActivityReenter(resultCode, data); } }

这里在跳出的时候调用

setExitSharedElementCallback

我们看下跳如的B页面的代码

package com.example.hubenkui.myapplication; import android.app.Activity; import android.content.Intent; import android.os.Bundle; import android.support.v4.app.FragmentActivity; import android.support.v4.app.SharedElementCallback; import android.view.View; import java.util.List; import java.util.Map; public class SecondActivity extends FragmentActivity { private View mImageView; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_second); mImageView = findViewById(R.id.icon_image); setEnterSharedElementCallback(new SharedElementCallback() { @Override public void onMapSharedElements(List<String> names, Map<String, View> sharedElements) { names.clear(); sharedElements.clear(); sharedElements.put("name",mImageView); } }); } @Override public void onBackPressed() { Intent intent = new Intent(); setResult(Activity.RESULT_OK, intent); supportFinishAfterTransition(); } }

在两个界面之间跳转的时候,涉及到数据的传递,在A 界面跳转到B 界面的时候,最好用到startActivity 去传递结果值,

B 页面消失的时候,会执行

Intent intent = new Intent(); setResult(Activity.RESULT_OK, intent); supportFinishAfterTransition();

在A 页面中接受B 返回的数据,在方法

@Override public void onActivityReenter(int resultCode, Intent data) { super.onActivityReenter(resultCode, data); }

获取到Intent data 中的值 以上就是 php短视频系统,九宫格转场动画实现的相关代码,更多内容欢迎关注之后的文章

最新回复(0)