package com.hexonxons.leprawatch.fragment;
import android.content.Context;
import android.os.Bundle;
import android.support.v4.app.Fragment;
import android.support.v4.app.FragmentActivity;
import android.view.ActionMode;
import android.view.LayoutInflater;
import android.view.Menu;
import android.view.MenuItem;
import android.view.View;
import android.view.ViewGroup;
import android.view.animation.Animation;
import android.view.animation.AnimationUtils;
import android.view.inputmethod.InputMethodManager;
import android.widget.EditText;
import android.widget.ImageButton;
import com.hexonxons.leprawatch.R;
public class EditFragment extends Fragment
{
public static final String TAG = "EditFragment";
private EditText mEditText = null;
private ImageButton mBold = null;
private ImageButton mItalic = null;
private ImageButton mIrony = null;
private ImageButton mUnderline = null;
private ImageButton mSubscript = null;
private ImageButton mSuperscript = null;
@Override
public void onCreate(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
setHasOptionsMenu(true);
}
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState)
{
View rootView = inflater.inflate(R.layout.edit_layout, container, false);
mBold = (ImageButton) rootView.findViewById(R.id.edit_bold);
mItalic = (ImageButton) rootView.findViewById(R.id.edit_italic);
mIrony = (ImageButton) rootView.findViewById(R.id.edit_irony);
mUnderline = (ImageButton) rootView.findViewById(R.id.edit_underline);
mSubscript = (ImageButton) rootView.findViewById(R.id.edit_subscript);
mSuperscript = (ImageButton) rootView.findViewById(R.id.edit_superscript);
mEditText = (EditText) rootView.findViewById(R.id.edit_content);
mEditText.setCustomSelectionActionModeCallback(new ActionMode.Callback()
{
@Override
public boolean onPrepareActionMode(ActionMode mode, Menu menu)
{
return false;
}
@Override
public void onDestroyActionMode(ActionMode mode)
{
mBold.setVisibility(View.GONE);
mItalic.setVisibility(View.GONE);
mIrony.setVisibility(View.GONE);
mUnderline.setVisibility(View.GONE);
mSubscript.setVisibility(View.GONE);
mSuperscript.setVisibility(View.GONE);
}
@Override
public boolean onCreateActionMode(ActionMode mode, Menu menu)
{
mode.setTitle("");
Animation expand = AnimationUtils.loadAnimation(getActivity(), android.R.anim.fade_in);
mBold.setVisibility(View.VISIBLE);
mItalic.setVisibility(View.VISIBLE);
mIrony.setVisibility(View.VISIBLE);
mUnderline.setVisibility(View.VISIBLE);
mSubscript.setVisibility(View.VISIBLE);
mSuperscript.setVisibility(View.VISIBLE);
mBold.startAnimation(expand);
mItalic.startAnimation(expand);
mIrony.startAnimation(expand);
mUnderline.startAnimation(expand);
mSubscript.startAnimation(expand);
mSuperscript.startAnimation(expand);
return true;
}
@Override
public boolean onActionItemClicked(ActionMode mode, MenuItem item)
{
return false;
}
});
InputMethodManager imm = (InputMethodManager) getActivity().getSystemService(Context.INPUT_METHOD_SERVICE);
imm.toggleSoftInput(InputMethodManager.SHOW_IMPLICIT, 0);
return rootView;
}
@Override
public boolean onOptionsItemSelected(MenuItem item)
{
switch (item.getItemId())
{
case android.R.id.home:
{
FragmentActivity activity = getActivity();
// Hide keyboard.
View focus = activity.getCurrentFocus();
if(focus != null)
{
((InputMethodManager) activity.getSystemService(Context.INPUT_METHOD_SERVICE)).hideSoftInputFromWindow(focus.getWindowToken(), 0);
}
// Go back.
activity.getSupportFragmentManager().popBackStack();
return true;
}
default:
{
break;
}
}
return super.onOptionsItemSelected(item);
}
}