package com.loopeer.test.cardstackview; import android.os.Bundle; import android.os.Handler; import android.support.v7.app.AppCompatActivity; import android.view.Menu; import android.view.MenuItem; import android.view.View; import android.widget.LinearLayout; import com.loopeer.cardstack.AllMoveDownAnimatorAdapter; import com.loopeer.cardstack.CardStackView; import com.loopeer.cardstack.UpDownAnimatorAdapter; import com.loopeer.cardstack.UpDownStackAnimatorAdapter; import java.util.Arrays; public class MainActivity extends AppCompatActivity implements CardStackView.ItemExpendListener { public static Integer[] TEST_DATAS = new Integer[]{ R.color.color_1, R.color.color_2, R.color.color_3, R.color.color_4, R.color.color_5, R.color.color_6, R.color.color_7, R.color.color_8, R.color.color_9, R.color.color_10, R.color.color_11, R.color.color_12, R.color.color_13, R.color.color_14, R.color.color_15, R.color.color_16, R.color.color_17, R.color.color_18, R.color.color_19, R.color.color_20, R.color.color_21, R.color.color_22, R.color.color_23, R.color.color_24, R.color.color_25, R.color.color_26 }; private CardStackView mStackView; private LinearLayout mActionButtonContainer; private TestStackAdapter mTestStackAdapter; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); mStackView = (CardStackView) findViewById(R.id.stackview_main); mActionButtonContainer = (LinearLayout) findViewById(R.id.button_container); mStackView.setItemExpendListener(this); mTestStackAdapter = new TestStackAdapter(this); mStackView.setAdapter(mTestStackAdapter); new Handler().postDelayed( new Runnable() { @Override public void run() { mTestStackAdapter.updateData(Arrays.asList(TEST_DATAS)); } } , 200 ); } @Override public boolean onCreateOptionsMenu(Menu menu) { getMenuInflater().inflate(R.menu.menu_actions, menu); return super.onCreateOptionsMenu(menu); } @Override public boolean onOptionsItemSelected(MenuItem item) { switch (item.getItemId()) { case R.id.menu_all_down: mStackView.setAnimatorAdapter(new AllMoveDownAnimatorAdapter(mStackView)); break; case R.id.menu_up_down: mStackView.setAnimatorAdapter(new UpDownAnimatorAdapter(mStackView)); break; case R.id.menu_up_down_stack: mStackView.setAnimatorAdapter(new UpDownStackAnimatorAdapter(mStackView)); break; } return super.onOptionsItemSelected(item); } public void onPreClick(View view) { mStackView.pre(); } public void onNextClick(View view) { mStackView.next(); } @Override public void onItemExpend(boolean expend) { mActionButtonContainer.setVisibility(expend ? View.VISIBLE : View.GONE); } }