5.0转场动画入门
来源:互联网 发布:双系统怎么重装ubuntu 编辑:程序博客网 时间:2024/05/22 04:59
参考http://extremej.itscoder.com/zoom-up-animation/
效果图
代码
MainActivity.java
public class MainActivity extends AppCompatActivity { ListView listView; MyAdapter adapter; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); listView= (ListView) findViewById(R.id.listview); adapter=new MyAdapter(MainActivity.this); listView.setAdapter(adapter); }}
MyAdapter.java
注意:点击图片会有转场动画出现,仔细看onClick的写法
public class MyAdapter extends BaseAdapter { private Context context; List list=new ArrayList(); MyAdapter(Context context) { this.context = context; list.add(R.drawable.anim1); list.add(R.drawable.anim2); list.add(R.drawable.anim3);// list.add(R.drawable.anim4);// list.add(R.drawable.anim5);// list.add(R.drawable.anim6); } @Override public int getCount() { return list.size(); } @Override public Object getItem(int position) { return list.get(position); } @Override public long getItemId(int position) { return 0; } @Override public View getView(final int position, View convertView, ViewGroup parent) { final ViewHolder holder; if (convertView == null) { convertView = LayoutInflater.from(context).inflate(R.layout.item, parent, false); holder = new ViewHolder(); holder.imageView = (ImageView) convertView.findViewById(R.id.img_avatar); convertView.setTag(holder); } else { holder = (ViewHolder) convertView.getTag(); } holder.imageView.setImageResource((int)list.get(position)); holder.imageView.setOnClickListener(new View.OnClickListener() { @RequiresApi(api = Build.VERSION_CODES.LOLLIPOP) @Override public void onClick(View v) { //动画在这里 ActivityOptions options = ActivityOptions.makeSceneTransitionAnimation((Activity) context, v, context.getString(R.string.image_transition_name)); Intent intent=new Intent(context,DtailActivity.class); intent.putExtra(DtailActivity.EXTRA_IMAGE,(int)getItem(position) ); context.startActivity(intent,options.toBundle()); } }); return convertView; } private class ViewHolder { ImageView imageView; }}
DtailActivity.java
public class DtailActivity extends AppCompatActivity { public static final java.lang.String EXTRA_IMAGE = DtailActivity.class.getSimpleName() + ".IMAGE"; ImageView imgAvatar; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_dtail); Toolbar toolbar = (Toolbar) findViewById(R.id.toolbar); setSupportActionBar(toolbar); imgAvatar= (ImageView) findViewById(R.id.img_avatar); imgAvatar.setImageResource(getIntent().getExtras().getInt(EXTRA_IMAGE)); }}
第二个页面布局文件
关键:注意imageView的 android:transitionName=”@string/image_transition_name”
<?xml version="1.0" encoding="utf-8"?><android.support.design.widget.CoordinatorLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:app="http://schemas.android.com/apk/res-auto" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent" tools:context="com.qunar.yuzhiyun.animationtransition.DtailActivity"> <android.support.design.widget.AppBarLayout android:layout_width="match_parent" android:layout_height="wrap_content" android:theme="@style/AppTheme.AppBarOverlay"> <android.support.design.widget.CollapsingToolbarLayout android:layout_width="match_parent" android:layout_height="match_parent" app:layout_scrollFlags="scroll|exitUntilCollapsed"> <ImageView android:id="@+id/img_avatar" android:layout_width="match_parent" android:layout_height="200dp" android:fitsSystemWindows="true" android:scaleType="fitXY" android:transitionName="@string/image_transition_name" app:layout_collapseMode="parallax" android:src="@drawable/anim2"/> <android.support.v7.widget.Toolbar android:id="@+id/toolbar" android:layout_width="match_parent" android:layout_height="?attr/actionBarSize" app:layout_collapseMode="pin"/> </android.support.design.widget.CollapsingToolbarLayout> </android.support.design.widget.AppBarLayout> <android.support.v4.widget.NestedScrollView android:layout_width="match_parent" android:layout_height="match_parent" app:layout_behavior="@string/appbar_scrolling_view_behavior"> <android.support.v7.widget.CardView android:id="@+id/cardview" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_margin="@dimen/activity_horizontal_margin"> <TextView android:id="@+id/textView" android:layout_width="wrap_content" android:layout_height="wrap_content" android:padding="@dimen/activity_horizontal_margin" android:text="@string/detailText" android:textAppearance="@style/TextAppearance.AppCompat.Body1"/> </android.support.v7.widget.CardView> </android.support.v4.widget.NestedScrollView> <android.support.design.widget.FloatingActionButton android:id="@+id/fab" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_gravity="bottom|end" android:layout_margin="@dimen/fab_margin" app:srcCompat="@android:drawable/ic_dialog_email" /></android.support.design.widget.CoordinatorLayout>
阅读全文
0 0
- 5.0转场动画入门
- Android,5.0转场动画
- Android 动画Activity转场动画入门
- 5.0图片的转场动画
- 转场动画
- 转场动画
- 转场动画
- 转场动画
- 转场动画
- 转场动画
- 转场动画
- 转场动画
- 转场动画
- 5.0新特性转场动画的实现
- Android 5.0 转场动画的使用
- 关于android 5.0转场动画的学习
- 转场动画 帧动画
- iOS之转场动画/自定义转场动画
- 关于SVM
- UIAutomator2.0详解(UIDevice篇----触屏操作3)
- 如何用好碎片化时间,让思维更有效率?
- 6.4输出从1到n的所有数的平方与立方
- IHS.PERFORM.v7.53.repack-ISO 1CD(油气井节点分析和生产优化软件)
- 5.0转场动画入门
- 搜索框
- ‘’足球论之网上商城项目知识点整合一‘’
- pwntools安装使用方法
- 解析Fat32文件系统
- (已解决)hdu 1043 Eight (逆向bfs+打表+康托压缩)
- 公路(最小生成树)
- 选择排序法
- spring+mybatis