package com.roboo.like.netease.fragment;
import java.util.LinkedList;
import android.annotation.SuppressLint;
import android.app.DialogFragment;
import android.graphics.Point;
import android.os.Build;
import android.os.Bundle;
import android.util.TypedValue;
import android.view.Display;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.view.Window;
import android.widget.AdapterView;
import android.widget.AdapterView.OnItemClickListener;
import android.widget.GridView;
import com.roboo.like.netease.R;
import com.roboo.like.netease.adapter.ShareGridViewAdapter;
import com.roboo.like.netease.model.ShareType;
public class ShareDialogFragment extends DialogFragment
{
private LinkedList<ShareType> mData;
private int[] mShareTypeImages = { R.drawable.ic_share_netease, R.drawable.ic_share_sina, R.drawable.ic_share_qq_weibo, R.drawable.ic_share_renren, R.drawable.ic_share_sms,R.drawable.ic_share_email };
private String[] mShareTypeName = {"网易微博","新浪微博","腾讯微博","人人网","短信","电子邮件"};
public static ShareDialogFragment newInstance()
{
ShareDialogFragment fragment = new ShareDialogFragment();
return fragment;
}
/*
* TODO @see android.app.Fragment#onCreateView(android.view.LayoutInflater,
* android.view.ViewGroup, android.os.Bundle)
*/
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState)
{
if (getDialog() != null)
{
getDialog().getWindow().requestFeature(Window.FEATURE_NO_TITLE);
getDialog().getWindow().setBackgroundDrawableResource(android.R.color.transparent);
}
View view = inflater.inflate(R.layout.fragment_share_dialog, null);
GridView gridView = (GridView) view.findViewById(R.id.gv_gridview);
gridView.setAdapter(getAdatper());
gridView.setOnItemClickListener(new OnItemClickListener()
{
@Override
public void onItemClick(AdapterView<?> parent, View view, int position, long id)
{
if(getDialog() != null)
{
getDialog().dismiss();
}
}
});
return view;
}
@SuppressLint("NewApi")
public void onStart()
{
super.onStart();
// change dialog width
if (getDialog() != null)
{
int fullWidth = getDialog().getWindow().getAttributes().width;
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.HONEYCOMB_MR2)
{
Display display = getActivity().getWindowManager().getDefaultDisplay();
Point size = new Point();
display.getSize(size);
fullWidth = size.x;
}
else
{
Display display = getActivity().getWindowManager().getDefaultDisplay();
fullWidth = display.getWidth();
}
final int padding = (int) TypedValue.applyDimension(TypedValue.COMPLEX_UNIT_DIP, 24, getResources()
.getDisplayMetrics());
int w = fullWidth - padding;
int h = getDialog().getWindow().getAttributes().height;
getDialog().getWindow().setLayout(w, h);
}
}
public ShareGridViewAdapter getAdatper()
{
mData = new LinkedList<ShareType>();
for(int i = 0; i < mShareTypeImages.length;i++)
{
ShareType type = new ShareType();
type.setShareTypeImage(mShareTypeImages[i]);
type.setShareTypeName(mShareTypeName[i]);
mData.add(type);
}
ShareGridViewAdapter adapter = new ShareGridViewAdapter(getActivity(), mData);
return adapter;
}
}