package com.lcjian.library.emotion;
|
|
import android.os.Bundle;
|
import android.support.v4.app.Fragment;
|
import android.view.Gravity;
|
import android.view.LayoutInflater;
|
import android.view.View;
|
import android.view.ViewGroup;
|
import android.widget.AdapterView;
|
import android.widget.AdapterView.OnItemClickListener;
|
import android.widget.BaseAdapter;
|
import android.widget.GridView;
|
|
import com.lcjian.lcjianlibrary.R;
|
import com.lcjian.library.util.common.DimenUtils;
|
|
public class EmotionGridFragment extends Fragment {
|
|
public static final View EmotionTextView = null;
|
|
private OnEditListener mOnEditListener;
|
|
@Override
|
public View onCreateView(LayoutInflater inflater, ViewGroup container,
|
Bundle savedInstanceState) {
|
EmotionHandler.initEmotion(getActivity());
|
return inflater.inflate(R.layout.emotion_grid, container, false);
|
}
|
|
@Override
|
public void onViewCreated(View view, Bundle savedInstanceState) {
|
GridView gridView = (GridView) view.findViewById(R.id.gv_emotion);
|
gridView.setAdapter(new EmotionAdapter());
|
gridView.setOnItemClickListener(new OnItemClickListener() {
|
|
@Override
|
public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
|
CharSequence text = ((EmotionTextView) view).getText();
|
if (text.toString().equals("[退格键]")) {
|
if (mOnEditListener != null) {
|
mOnEditListener.onBack();
|
}
|
} else {
|
if (mOnEditListener != null) {
|
mOnEditListener.onAdd(text);
|
}
|
}
|
}
|
});
|
}
|
|
private class EmotionAdapter extends BaseAdapter {
|
|
private String[] thumbArray;
|
|
public EmotionAdapter() {
|
thumbArray = EmotionHandler.faceMap.keySet().toArray(new String[] {});
|
}
|
|
@Override
|
public int getCount() {
|
return thumbArray.length;
|
}
|
|
@Override
|
public Object getItem(int position) {
|
return thumbArray[position];
|
}
|
|
@Override
|
public long getItemId(int position) {
|
return position;
|
}
|
|
@Override
|
public View getView(int position, View convertView, ViewGroup parent) {
|
if (convertView == null) {
|
convertView = new EmotionTextView(parent.getContext());
|
convertView.setLayoutParams(new GridView.LayoutParams(
|
DimenUtils.dipToPixels(40, parent.getContext()), DimenUtils.dipToPixels(40, parent.getContext())));
|
}
|
((EmotionTextView) convertView).setGravity(Gravity.CENTER);
|
if (position == thumbArray.length - 1) {
|
((EmotionTextView) convertView).setEmotionWidth(DimenUtils.dipToPixels(25, parent.getContext()));
|
((EmotionTextView) convertView).setEmotionHeight(DimenUtils.dipToPixels(17, parent.getContext()));
|
} else {
|
((EmotionTextView) convertView).setEmotionWidth(DimenUtils.dipToPixels(33, parent.getContext()));
|
((EmotionTextView) convertView).setEmotionHeight(DimenUtils.dipToPixels(28, parent.getContext()));
|
}
|
((EmotionTextView) convertView).setText(thumbArray[position]);
|
return convertView;
|
}
|
}
|
|
public OnEditListener getOnEditListener() {
|
return mOnEditListener;
|
}
|
|
public void setOnEditListener(OnEditListener onEditListener) {
|
this.mOnEditListener = onEditListener;
|
}
|
|
public interface OnEditListener {
|
public void onBack();
|
public void onAdd(CharSequence text);
|
}
|
}
|