Search in sources :

Example 1 with FreeFlowContainer

use of com.marshalchen.common.uimodule.freeflow.core.FreeFlowContainer in project UltimateAndroid by cymcsg.

the class FreeFlowPhotoGridActivity method onCreate.

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.free_flow_photo_grid_activity);
    FrameLayout frameLayout = (FrameLayout) findViewById(R.id.frameLayout);
    final ImageAdapter adapter = new ImageAdapter();
    container = new FreeFlowContainer(this);
    DefaultLayoutAnimator anim = (DefaultLayoutAnimator) container.getLayoutAnimator();
    anim.animateAllSetsSequentially = false;
    anim.animateIndividualCellsSequentially = false;
    container.requestFocus();
    hLayout = new HLayout();
    hLayout.setLayoutParams(new HLayout.LayoutParams(100, 150, 600));
    vLayout = new VLayout();
    vLayout.setLayoutParams(new VLayout.LayoutParams(100, 600, 150));
    vGridLayout = new VGridLayout();
    vGridLayout.setLayoutParams(new VGridLayout.LayoutParams(200, 200, 600, 100));
    hGridLayout = new HGridLayout();
    hGridLayout.setLayoutParams(new HGridLayout.LayoutParams(200, 200, 100, 600));
    layouts = new FreeFlowLayout[] { vLayout, hLayout, vGridLayout, hGridLayout };
    container.setAdapter(adapter);
    container.setLayout(layouts[currentLayoutIndex]);
    frameLayout.addView(container);
    changeButton = ((Button) frameLayout.findViewById(R.id.transitionButton));
    changeButton.setText("Layout");
    changeButton.setOnClickListener(new OnClickListener() {

        @Override
        public void onClick(View v) {
            currentLayoutIndex++;
            if (currentLayoutIndex == layouts.length) {
                currentLayoutIndex = 0;
            }
            container.setLayout(layouts[currentLayoutIndex]);
        }
    });
    jumpButton = (Button) findViewById(R.id.jumpButton);
    jumpButton.setOnClickListener(new OnClickListener() {

        @Override
        public void onClick(View v) {
            int section = (int) (adapter.getNumberOfSections() * Math.random());
            int index = (int) (adapter.getSection(section).getDataCount() * Math.random());
            String s = "section = " + section + ", index = " + index;
            Toast.makeText(FreeFlowPhotoGridActivity.this, s, Toast.LENGTH_SHORT).show();
            container.scrollToItem(section, index, false);
        }
    });
    jumpButtonAnim = (Button) findViewById(R.id.jumpButtonAnim);
    jumpButtonAnim.setOnClickListener(new OnClickListener() {

        @Override
        public void onClick(View v) {
            int section = (int) (adapter.getNumberOfSections() * Math.random());
            int index = (int) (adapter.getSection(section).getDataCount() * Math.random());
            String s = "section = " + section + ", index = " + index;
            Toast.makeText(FreeFlowPhotoGridActivity.this, s, Toast.LENGTH_SHORT).show();
            container.scrollToItem(section, index, true);
        }
    });
    container.setOnItemClickListener(new OnItemClickListener() {

        @Override
        public void onItemClick(AbsLayoutContainer parent, FreeFlowItem proxy) {
            Log.d("Test", "container item: " + proxy.itemSection + " /  " + proxy.itemIndex);
        }
    });
    changeButton.bringToFront();
    jumpButton.bringToFront();
    jumpButtonAnim.bringToFront();
}
Also used : OnItemClickListener(com.marshalchen.common.uimodule.freeflow.core.AbsLayoutContainer.OnItemClickListener) HGridLayout(com.marshalchen.common.uimodule.freeflow.layouts.HGridLayout) View(android.view.View) TextView(android.widget.TextView) DefaultLayoutAnimator(com.marshalchen.common.uimodule.freeflow.animations.DefaultLayoutAnimator) VGridLayout(com.marshalchen.common.uimodule.freeflow.layouts.VGridLayout) HLayout(com.marshalchen.common.uimodule.freeflow.layouts.HLayout) Button(android.widget.Button) FrameLayout(android.widget.FrameLayout) VLayout(com.marshalchen.common.uimodule.freeflow.layouts.VLayout) FreeFlowContainer(com.marshalchen.common.uimodule.freeflow.core.FreeFlowContainer) OnClickListener(android.view.View.OnClickListener) FreeFlowItem(com.marshalchen.common.uimodule.freeflow.core.FreeFlowItem) AbsLayoutContainer(com.marshalchen.common.uimodule.freeflow.core.AbsLayoutContainer)

Example 2 with FreeFlowContainer

use of com.marshalchen.common.uimodule.freeflow.core.FreeFlowContainer in project UltimateAndroid by cymcsg.

the class FreeFlowArtbookActivity method onDataLoaded.

public void onDataLoaded(DribbbleFeed feed) {
    Log.d(TAG, "photo: " + feed.getShots().get(0).getImage_teaser_url());
    adapter.update(feed);
    container.dataInvalidated();
    container.setOnItemClickListener(new OnItemClickListener() {

        @Override
        public void onItemClick(AbsLayoutContainer parent, FreeFlowItem proxy) {
        }
    });
    container.addScrollListener(new OnScrollListener() {

        @Override
        public void onScroll(FreeFlowContainer container) {
            Log.d(TAG, "scroll percent " + container.getScrollPercentY());
        }
    });
}
Also used : OnItemClickListener(com.marshalchen.common.uimodule.freeflow.core.AbsLayoutContainer.OnItemClickListener) OnScrollListener(com.marshalchen.common.uimodule.freeflow.core.FreeFlowContainer.OnScrollListener) FreeFlowContainer(com.marshalchen.common.uimodule.freeflow.core.FreeFlowContainer) FreeFlowItem(com.marshalchen.common.uimodule.freeflow.core.FreeFlowItem) AbsLayoutContainer(com.marshalchen.common.uimodule.freeflow.core.AbsLayoutContainer)

Aggregations

AbsLayoutContainer (com.marshalchen.common.uimodule.freeflow.core.AbsLayoutContainer)2 OnItemClickListener (com.marshalchen.common.uimodule.freeflow.core.AbsLayoutContainer.OnItemClickListener)2 FreeFlowContainer (com.marshalchen.common.uimodule.freeflow.core.FreeFlowContainer)2 FreeFlowItem (com.marshalchen.common.uimodule.freeflow.core.FreeFlowItem)2 View (android.view.View)1 OnClickListener (android.view.View.OnClickListener)1 Button (android.widget.Button)1 FrameLayout (android.widget.FrameLayout)1 TextView (android.widget.TextView)1 DefaultLayoutAnimator (com.marshalchen.common.uimodule.freeflow.animations.DefaultLayoutAnimator)1 OnScrollListener (com.marshalchen.common.uimodule.freeflow.core.FreeFlowContainer.OnScrollListener)1 HGridLayout (com.marshalchen.common.uimodule.freeflow.layouts.HGridLayout)1 HLayout (com.marshalchen.common.uimodule.freeflow.layouts.HLayout)1 VGridLayout (com.marshalchen.common.uimodule.freeflow.layouts.VGridLayout)1 VLayout (com.marshalchen.common.uimodule.freeflow.layouts.VLayout)1