package com.cui.trypro.animation_groups; import android.animation.Animator; import android.animation.AnimatorListenerAdapter; import android.content.Context; import android.content.Intent; import android.graphics.Color; import android.os.Build; import android.os.Bundle; import android.support.design.widget.AppBarLayout; import android.support.design.widget.CoordinatorLayout; import android.support.design.widget.FloatingActionButton; import android.support.design.widget.Snackbar; import android.support.v7.widget.LinearLayoutManager; import android.support.v7.widget.RecyclerView; import android.support.v7.widget.Toolbar; import android.view.View; import android.view.animation.OvershootInterpolator; import android.widget.ImageView; import com.cui.trypro.BaseActivity; import com.cui.trypro.R; import com.cui.trypro.View.circlerefreshlayout.SystemBarTintManager; import com.cui.trypro.View.circlerefreshlayout.Insta_Utils; import com.cui.trypro.adapter.FeedAdapter; import com.cui.trypro.animation_groups.instaMaterial_view.FeedContextMenu; import com.cui.trypro.animation_groups.instaMaterial_view.FeedContextMenuManager; import butterknife.ButterKnife; import butterknife.InjectView; /** * Created by cuiyang on 15/8/16. */ public class InstaMateriaL_Activity extends BaseActivity implements FeedAdapter.OnFeedItemClickListener, FeedContextMenu.OnFeedContextMenuItemClickListener { @InjectView(R.id.rvFeed) RecyclerView mRecyclerView; @InjectView(R.id.appBarLayout) AppBarLayout appBarLayout; @InjectView(R.id.btnCreate) FloatingActionButton fabCreate; @InjectView(R.id.content) CoordinatorLayout content; @InjectView(R.id.toolbar2) Toolbar toolbar2; @InjectView(R.id.ivLogo) ImageView ivLogo; private Context mContext; private FeedAdapter adapter; // private MenuItem inboxMenuItem;//侧滑栏的三个横线 private static final int ANIM_DURATION_TOOLBAR = 300; private static final int ANIM_DURATION_FAB = 400; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.instamaterial); ButterKnife.inject(this); mContext = this; initView(); } private void initView() { initToolbar(); startIntroAnimation(); mRecyclerView.setLayoutManager(new LinearLayoutManager(mContext)); adapter = new FeedAdapter(mContext); mRecyclerView.setAdapter(adapter); fabCreate.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { Snackbar.make(mRecyclerView, "content", Snackbar.LENGTH_LONG) .setAction("right", null).show(); } }); adapter.setOnFeedItemClickListener(this); mRecyclerView.addOnScrollListener(new RecyclerView.OnScrollListener() { @Override public void onScrolled(RecyclerView recyclerView, int dx, int dy) { FeedContextMenuManager.getInstance().onScrolled(recyclerView, dx, dy); } }); } private void initToolbar() { if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.KITKAT) { SystemBarTintManager tintManager = new SystemBarTintManager(this); tintManager.setStatusBarTintEnabled(true); //此处可以重新指定状态栏颜色 tintManager.setStatusBarTintResource(R.color.background_blue2); } toolbar2.setTitle("material"); toolbar2.setTitleTextColor(Color.WHITE); setSupportActionBar(toolbar2); getSupportActionBar().setHomeButtonEnabled(true); getSupportActionBar().setDisplayHomeAsUpEnabled(true); } private void startIntroAnimation() { /**设置初始fab位置*/ fabCreate.setTranslationY(2 * getResources().getDimensionPixelOffset(R.dimen.btn_fab_size)); int actionbarSize = Insta_Utils.dpToPx(56); toolbar2.setTranslationY(-actionbarSize); ivLogo.setTranslationY(-actionbarSize); // inboxMenuItem.getActionView().setTranslationY(-actionbarSize); toolbar2.animate() .translationY(0) .setDuration(ANIM_DURATION_TOOLBAR) .setStartDelay(300);//设置延迟时间 ivLogo.animate() .translationY(0) .setDuration(ANIM_DURATION_TOOLBAR) .setStartDelay(400).setListener(new AnimatorListenerAdapter() { @Override public void onAnimationEnd(Animator animation) { super.onAnimationEnd(animation); startFabAnimation(); } }); // inboxMenuItem.getActionView().animate() // .translationY(0) // .setDuration(ANIM_DURATION_TOOLBAR) // .setStartDelay(500) // .setListener(new AnimatorListenerAdapter() { // @Override // public void onAnimationEnd(Animator animation) { // startContentAnimation(); // } // }) // .start(); } private void startFabAnimation() { fabCreate.animate() .translationY(0) .setInterpolator(new OvershootInterpolator(1.f)) .setStartDelay(300) .setDuration(ANIM_DURATION_FAB) .start(); adapter.updateItem();//adapter add data } //留言按钮的回调 @Override public void onCommentsClick(View v, int position) { // final Intent intent = new Intent(this, CommentsActivity.class); // int[] startingLocation = new int[2]; // v.getLocationOnScreen(startingLocation); // intent.putExtra(CommentsActivity.ARG_DRAWING_START_LOCATION, startingLocation[1]); // startActivity(intent); // overridePendingTransition(0, 0); startActivity(new Intent(mContext,CommentsActivity.class)); } //更多的点击回调 @Override public void onMoreClick(View v, int position) { FeedContextMenuManager.getInstance().toggleContextMenuFromView(v, position, this); } @Override public void onProfileClick(View v) { } //more button callback @Override public void onReportClick(int feedItem) { } @Override public void onSharePhotoClick(int feedItem) { } @Override public void onCopyShareUrlClick(int feedItem) { } @Override public void onCancelClick(int feedItem) { } // // @Override // public boolean onCreateOptionsMenu(Menu menu) { // getMenuInflater().inflate(R.menu.menu_main, menu); // inboxMenuItem = menu.findItem(R.id.action_inbox); //// inboxMenuItem.setActionView(R.layout.menu_item_view); // return true; // } }