package com.luciofm.devfest.anime;
import android.app.Activity;
import android.app.Fragment;
import android.os.Bundle;
import android.view.LayoutInflater;
import android.view.Menu;
import android.view.MenuInflater;
import android.view.MenuItem;
import android.view.View;
import android.view.ViewGroup;
import android.widget.Button;
import android.widget.LinearLayout;
import android.widget.TextView;
import butterknife.InjectView;
import butterknife.Views;
public class LayoutTransitionActivity extends Activity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_layout_transition);
if (savedInstanceState == null) {
getFragmentManager().beginTransaction()
.add(R.id.container, new PlaceholderFragment())
.commit();
}
}
/**
* A placeholder fragment containing a simple view.
*/
public static class PlaceholderFragment extends Fragment {
@InjectView(R.id.container)
LinearLayout container;
public PlaceholderFragment() {
}
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setHasOptionsMenu(true);
}
@Override
public void onCreateOptionsMenu(Menu menu, MenuInflater inflater) {
getActivity().getMenuInflater().inflate(R.menu.layout_transition, menu);
super.onCreateOptionsMenu(menu, inflater);
}
@Override
public boolean onOptionsItemSelected(MenuItem item) {
if (item.getItemId() == R.id.action_add_text) {
addView(newTextView());
} else if (item.getItemId() == R.id.action_add_button) {
addView(newButton());
}
return super.onOptionsItemSelected(item);
}
private void addView(View view) {
container.addView(view, 0);
}
private Button newButton() {
Button button = new Button(getActivity());
button.setText(getString(R.string.one_button));
ViewGroup.MarginLayoutParams params = new ViewGroup.MarginLayoutParams(
ViewGroup.LayoutParams.MATCH_PARENT, ViewGroup.LayoutParams.WRAP_CONTENT);
button.setLayoutParams(params);
button.setOnClickListener(clickListener);
return button;
}
private TextView newTextView() {
TextView textView = new TextView(getActivity());
textView.setText("Um texto");
ViewGroup.MarginLayoutParams params = new ViewGroup.MarginLayoutParams(
ViewGroup.LayoutParams.MATCH_PARENT, ViewGroup.LayoutParams.WRAP_CONTENT);
params.bottomMargin = params.topMargin = getResources().getDimensionPixelSize(R.dimen.text_margin);
textView.setClickable(true);
textView.setLayoutParams(params);
textView.setOnClickListener(clickListener);
return textView;
}
View.OnClickListener clickListener = new View.OnClickListener() {
@Override
public void onClick(View v) {
container.removeView(v);
}
};
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
View rootView = inflater.inflate(R.layout.fragment_layout_transition, container, false);
Views.inject(this, rootView);
return rootView;
}
}
}