import android.os.Bundle;
import android.app.Activity;
import android.view.Menu;
import android.view.View;
import android.widget.FrameLayout.LayoutParams;
import android.widget.ImageView;
import android.widget.LinearLayout;
public class MainActivity extends Activity {
private ImageView image1;
private ImageView image2;
private ImageView image3;
private ImageView image4;
private ImageView image5;
private ImageView image6;
private LinearLayout imagesLinearLayout;
private LinearLayout.LayoutParams layoutParameters;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
//Initialize our box that will contain the images
imagesLinearLayout = (LinearLayout) findViewById(R.id.ImagesLinearLayout);
//Initialize the information that will divide our images equally
//in our linear layout (regardless of whether it is vertical or horizontal)
layoutParameters = new LinearLayout.LayoutParams(LayoutParams.MATCH_PARENT, LayoutParams.MATCH_PARENT, (float) 1);
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
// Inflate the menu; this adds items to the action bar if it is present.
getMenuInflater().inflate(R.menu.main, menu);
return true;
}
//Method to add a new image
public void addNewImage(View view){
if(image1 == null){
//Initialize image 1
image1 = new ImageView(this);
//Set image 1 source
image1.setImageResource(R.drawable.ic_launcher);
//Adds image 1 to view with our layout parameters so the image
//looks equally divided in space
imagesLinearLayout.addView(image1, layoutParameters);
}
else if(image2 == null){
image2 = new ImageView(this);
image2.setImageResource(R.drawable.ic_launcher);
imagesLinearLayout.addView(image2, layoutParameters);
}
else if(image3 == null){
image3 = new ImageView(this);
image3.setImageResource(R.drawable.ic_launcher);
imagesLinearLayout.addView(image3, layoutParameters);
}
else if(image4 == null){
image4 = new ImageView(this);
image4.setImageResource(R.drawable.ic_launcher);
imagesLinearLayout.addView(image4, layoutParameters);
}
else if(image5 == null){
image5 = new ImageView(this);
image5.setImageResource(R.drawable.ic_launcher);
imagesLinearLayout.addView(image5, layoutParameters);
}
else if(image6 == null){
image6 = new ImageView(this);
image6.setImageResource(R.drawable.ic_launcher);
imagesLinearLayout.addView(image6, layoutParameters);
}
else{
//Add code specifying that no more images can be added
}
}
//Method to remove one image
public void removeOneImage(View view){
boolean removeComplete = false;
//Remove images starting from the last one added
//until reaching the first;
if(image6 != null && !removeComplete){
imagesLinearLayout.removeView(image6);
//Make image 6 null to prevent memory leaks
//and to allow future use of this variable
image6 = null;
removeComplete = true; //We are done.
}
if(image5 != null && !removeComplete){
imagesLinearLayout.removeView(image5);
image5 = null;
removeComplete = true;
}
if(image4 != null && !removeComplete){
imagesLinearLayout.removeView(image4);
image4 = null;
removeComplete = true;
}
if(image3 != null && !removeComplete){
imagesLinearLayout.removeView(image3);
image3 = null;
removeComplete = true;
}
if(image2 != null && !removeComplete){
imagesLinearLayout.removeView(image2);
image2 = null;
removeComplete = true;
}
if(image1 != null && !removeComplete){
imagesLinearLayout.removeView(image1);
image1 = null;
removeComplete = true;
}
}
}