package com.ptrprograms.animations.fragment;
import android.app.ListFragment;
import android.content.Intent;
import android.os.Bundle;
import android.transition.Explode;
import android.transition.Fade;
import android.transition.Slide;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.ArrayAdapter;
import android.widget.ListView;
import android.widget.TextView;
import com.ptrprograms.animations.activity.CircularRevealActivity;
import com.ptrprograms.animations.activity.ExplodeAnimationActivity;
import com.ptrprograms.animations.activity.FadeAnimationActivity;
import com.ptrprograms.animations.activity.SharedElementAnimationActivity;
import com.ptrprograms.animations.activity.SlidingAnimationActivity;
import java.util.ArrayList;
import java.util.List;
/**
* Created by paulruiz on 8/18/14.
*/
public class SelectionListFragment extends ListFragment {
private final String CATEGORY_CIRCULAR_REVEAL = "Circular Reveal";
private final String CATEGORY_ACTIVITY_TRANSITION_EXPLODE = "Activity Transition: Explode";
private final String CATEGORY_ACTIVITY_TRANSITION_SLIDE = "Activity Transition: Slide";
private final String CATEGORY_ACTIVITY_TRANSITION_FADE = "Activity Transition: Fade";
private final String CATEGORY_SHARED_ELEMENT_TRANSITION_CHANGE_BOUNDS = "Shared Element Transition: Change Bounds";
private ArrayAdapter<String> mAdapter;
public static SelectionListFragment getInstance() {
SelectionListFragment fragment = new SelectionListFragment();
return fragment;
}
@Override
public void onActivityCreated(Bundle savedInstanceState) {
super.onActivityCreated(savedInstanceState);
mAdapter = new ArrayAdapter<String>( getActivity(), android.R.layout.simple_list_item_1, getCategories() );
setListAdapter(mAdapter);
}
private List<String> getCategories() {
List<String> categories = new ArrayList<String>();
categories.add( CATEGORY_CIRCULAR_REVEAL );
categories.add( CATEGORY_ACTIVITY_TRANSITION_EXPLODE );
categories.add( CATEGORY_ACTIVITY_TRANSITION_SLIDE );
categories.add( CATEGORY_ACTIVITY_TRANSITION_FADE );
categories.add( CATEGORY_SHARED_ELEMENT_TRANSITION_CHANGE_BOUNDS );
return categories;
}
@Override
public void onPause() {
super.onPause();
getListView().setDividerHeight( 0 );
}
@Override
public void onResume() {
super.onResume();
getListView().setDividerHeight( 1 );
}
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
return super.onCreateView(inflater, container, savedInstanceState);
}
@Override
public void onListItemClick( ListView l, View v, int position, long id ) {
super.onListItemClick( l, v, position, id );
getActivity().getWindow().setExitTransition( null );
getActivity().getWindow().setEnterTransition( null );
String text = ( (TextView) v ).getText().toString();
Intent intent = null;
if( text.equalsIgnoreCase( CATEGORY_CIRCULAR_REVEAL ) ) {
intent = new Intent( getActivity(), CircularRevealActivity.class );
}
else if( text.equalsIgnoreCase( CATEGORY_ACTIVITY_TRANSITION_EXPLODE ) ) {
getActivity().getWindow().setExitTransition( new Explode() );
intent = new Intent( getActivity(), ExplodeAnimationActivity.class );
}
else if( text.equalsIgnoreCase( CATEGORY_ACTIVITY_TRANSITION_SLIDE ) ) {
getActivity().getWindow().setExitTransition( new Slide() );
intent = new Intent( getActivity(), SlidingAnimationActivity.class );
}
else if( text.equalsIgnoreCase( CATEGORY_ACTIVITY_TRANSITION_FADE ) ) {
getActivity().getWindow().setExitTransition( new Fade() );
intent = new Intent( getActivity(), FadeAnimationActivity.class );
}
else if( text.equalsIgnoreCase( CATEGORY_SHARED_ELEMENT_TRANSITION_CHANGE_BOUNDS ) ) {
intent = new Intent( getActivity(), SharedElementAnimationActivity.class );
}
if( intent != null )
startActivity( intent );
}
}