Android Open Source - 101AndroidApps Element Activity






From Project

Back to project page 101AndroidApps.

License

The source code is released under:

Licenced under the Creative Commons Attribution 4.0 licence. For full text see http://creativecommons.org/licenses/by/4.0/

If you think the Android project 101AndroidApps listed in this page is inappropriate, such as containing malicious code/tools or violating the copyright, please email info at java2s dot com, thanks.

Java Source Code

package com.hulzenga.ioi.android.app_005;
/*from w ww.ja v a2  s  .co m*/
import android.os.Bundle;
import android.view.View;
import android.widget.Button;

import com.hulzenga.ioi.android.AppActivity;
import com.hulzenga.ioi.android.R;
import com.hulzenga.ioi.android.app_005.ElementSnakeView.ElementAnimationCallback;

import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;

public class ElementActivity extends AppActivity implements ElementAnimationCallback {

  private Button           mAddElementButton;
  private Button           mAddMultipleElementsButton;

  private ElementAdapter mAdapter;

  private int mAddNMoreElements = 0;

  @Override
  protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);

    setContentView(R.layout.app_005_activity_elements);

    // link up member views
    ElementSnakeView mElementsSnakeView = (ElementSnakeView) findViewById(R.id.app_005_ElementsGridView);
    mAddElementButton = (Button) findViewById(R.id.app_005_addElementButton);
    mAddMultipleElementsButton = (Button) findViewById(R.id.app_005_addMultipleElementsButton);

    List<Element> elementalList;
    if (savedInstanceState != null && savedInstanceState.containsKey("elements")) {
      final Element[] elements = (Element[]) savedInstanceState.get("elements");
      elementalList = new ArrayList<>(Arrays.asList(elements));
    } else {
      elementalList = new ArrayList<>();
    }

    mAdapter = new ElementAdapter(this, R.layout.app_005_item_element, elementalList);

    mElementsSnakeView.setAdapter(mAdapter);
    mElementsSnakeView.registerAnimationCallback(this);
  }

  @Override
  protected void onSaveInstanceState(Bundle outState) {
    final List<Element> elementList = mAdapter.getElements();
    final Element[] elements = elementList.toArray(new Element[elementList.size()]);
    outState.putSerializable("elements", elements);
    super.onSaveInstanceState(outState);
  }

  public void addElement(View v) {
    mAdapter.add(Element.getRandomElement());
  }

  // the code for this should ideally have been implemented inside the
  // snakeview
  public void addMultipleElements(View v) {
    mAddNMoreElements = 4;
    addElement(v);
  }

  private void enableButtons() {
    mAddElementButton.setEnabled(true);
    mAddElementButton.setClickable(true);
    mAddMultipleElementsButton.setEnabled(true);
    mAddMultipleElementsButton.setClickable(true);
  }

  private void disableButtons() {
    mAddElementButton.setEnabled(false);
    mAddElementButton.setClickable(false);
    mAddMultipleElementsButton.setEnabled(false);
    mAddMultipleElementsButton.setClickable(false);
  }

  @Override
  public void onAnimationStart() {
    disableButtons();
  }

  @Override
  public void onAnimationEnd() {
    if (mAddNMoreElements > 0) {
      addElement(null);
      mAddNMoreElements--;
    } else {
      enableButtons();
    }
  }

}




Java Source Code List

com.hulzenga.ioi.android.AppActivity.java
com.hulzenga.ioi.android.AppDetailsDialog.java
com.hulzenga.ioi.android.App.java
com.hulzenga.ioi.android.TableOfContentsActivity.java
com.hulzenga.ioi.android.app_001.HelloWorldActivity.java
com.hulzenga.ioi.android.app_002.Ball.java
com.hulzenga.ioi.android.app_002.BouncyBallsActivity.java
com.hulzenga.ioi.android.app_002.BouncyBallsView.java
com.hulzenga.ioi.android.app_003.MonsterDatabaseActivity.java
com.hulzenga.ioi.android.app_003.MonsterEditDialog.java
com.hulzenga.ioi.android.app_003.MonsterGenerator.java
com.hulzenga.ioi.android.app_003.MonsterListAdapter.java
com.hulzenga.ioi.android.app_003.database.MonsterContract.java
com.hulzenga.ioi.android.app_003.database.MonsterDatabaseHelper.java
com.hulzenga.ioi.android.app_003.database.MonsterProvider.java
com.hulzenga.ioi.android.app_004.BouncyBall3dActivity.java
com.hulzenga.ioi.android.app_004.BouncyBall3dGLSurfaceView.java
com.hulzenga.ioi.android.app_004.BouncyBall3dRenderer.java
com.hulzenga.ioi.android.app_004.BouncyBallGame.java
com.hulzenga.ioi.android.app_005.ElementActivity.java
com.hulzenga.ioi.android.app_005.ElementAdapter.java
com.hulzenga.ioi.android.app_005.ElementAnimator.java
com.hulzenga.ioi.android.app_005.ElementSnakeView.java
com.hulzenga.ioi.android.app_005.ElementView.java
com.hulzenga.ioi.android.app_005.Element.java
com.hulzenga.ioi.android.app_006.EmptyFragment.java
com.hulzenga.ioi.android.app_006.ExposureFragment.java
com.hulzenga.ioi.android.app_006.SettingChangeListener.java
com.hulzenga.ioi.android.app_006.SettingIconFragment.java
com.hulzenga.ioi.android.app_006.SettingMenuFragment.java
com.hulzenga.ioi.android.app_006.SettingMenuLvl2Fragment.java
com.hulzenga.ioi.android.app_006.Setting.java
com.hulzenga.ioi.android.app_006.SimpleCameraActivity.java
com.hulzenga.ioi.android.app_006.SimpleCameraPreview.java
com.hulzenga.ioi.android.app_007.ButtonsFragment.java
com.hulzenga.ioi.android.app_007.HighScores.java
com.hulzenga.ioi.android.app_007.LinksFragment.java
com.hulzenga.ioi.android.app_007.Menu.java
com.hulzenga.ioi.android.app_007.Review.java
com.hulzenga.ioi.android.app_007.Score.java
com.hulzenga.ioi.android.app_007.StatusFragment.java
com.hulzenga.ioi.android.app_007.WikiGameActivity.java
com.hulzenga.ioi.android.app_007.Wiki.java
com.hulzenga.ioi.android.app_008.OverheidActivity.java
com.hulzenga.ioi.android.app_008.OverheidFeedAdapter.java
com.hulzenga.ioi.android.app_008.OverheidFeedFragment.java
com.hulzenga.ioi.android.app_008.OverheidFeedItem.java
com.hulzenga.ioi.android.app_008.OverheidFeed.java
com.hulzenga.ioi.android.app_008.OverheidPagerAdapter.java
com.hulzenga.ioi.android.app_009.ThumbsUpActivity.java
com.hulzenga.ioi.android.app_009.ThumbsUpServer.java
com.hulzenga.ioi.android.app_009.ThumbsUpService.java
com.hulzenga.ioi.android.app_010.CompassActivity.java
com.hulzenga.ioi.android.app_010.CompassDetailsView.java
com.hulzenga.ioi.android.app_010.CompassView.java
com.hulzenga.ioi.android.util.Constrain.java
com.hulzenga.ioi.android.util.DeveloperTools.java
com.hulzenga.ioi.android.util.FileManager.java
com.hulzenga.ioi.android.util.ScreenMetrics.java
com.hulzenga.ioi.android.util.open_gl.ColorFunctionFactory.java
com.hulzenga.ioi.android.util.open_gl.ColorFunction.java
com.hulzenga.ioi.android.util.open_gl.ShaderTools.java
com.hulzenga.ioi.android.util.open_gl.engine.NodeController.java
com.hulzenga.ioi.android.util.open_gl.engine.SceneGraph.java
com.hulzenga.ioi.android.util.open_gl.engine.SceneNode.java
com.hulzenga.ioi.android.util.open_gl.geometry.Box.java
com.hulzenga.ioi.android.util.open_gl.geometry.Cylinder.java
com.hulzenga.ioi.android.util.open_gl.geometry.Geometry.java
com.hulzenga.ioi.android.util.open_gl.geometry.Grid.java
com.hulzenga.ioi.android.util.open_gl.geometry.Sphere.java
com.hulzenga.ioi.android.util.open_gl.geometry.Transform.java
com.hulzenga.ioi.android.util.open_gl.vector.Vec3.java
com.hulzenga.ioi.android.util.open_gl.vector.Vec4.java
fi.iki.elonen.NanoHTTPD.java