package com.linju.android_property.fragment;
import java.util.ArrayList;
import java.util.List;
import roboguice.inject.InjectView;
import android.annotation.SuppressLint;
import android.annotation.TargetApi;
import android.app.AlertDialog;
import android.os.Bundle;
import android.os.Build.VERSION;
import android.os.Build.VERSION_CODES;
import android.support.v4.app.DialogFragment;
import android.support.v4.app.Fragment;
import android.support.v4.app.FragmentManager;
import android.support.v4.app.FragmentPagerAdapter;
import android.support.v4.app.FragmentTransaction;
import android.support.v4.view.PagerAdapter;
import android.support.v4.view.ViewPager;
import android.support.v4.view.ViewPager.OnPageChangeListener;
import android.view.Gravity;
import android.view.LayoutInflater;
import android.view.View;
import android.view.Window;
import android.view.WindowManager;
import android.view.View.OnClickListener;
import android.view.ViewGroup;
import android.view.WindowManager.LayoutParams;
import android.widget.Button;
import android.widget.ListView;
import android.widget.RelativeLayout;
import android.widget.Toast;
import com.linju.android_property.adapter.MailAdapter;
import com.linju.android_property.base.BaseFragment;
import com.linju.android_property.dialog.Effectstype;
import com.linju.android_property.dialog.MaterialDialog;
import com.linju.android_property.message.fragment.InBoxFragment;
import com.linju.android_property.message.fragment.SendBoxFragment;
import com.linju.android_property.viewutils.SystemBarTintManager;
import com.linju.android_property.viewutils.WPTextView;
import com.linju.android_property.viewutils.SystemBarTintManager.SystemBarConfig;
import com.linju.android_property2.R;
import com.readystatesoftware.viewbadger.BadgeView;
import com.tonicartos.widget.stickygridheaders.StickyGridHeadersGridView;
/**
* 信息管理的fragmetn
* @author LT
*
*/
@SuppressLint("NewApi")
public class TopMsgFragment extends BaseFragment implements OnClickListener{
private static final int PAGE_NEWS = 0;
private static final int PAGE_REPLY = 1;
@InjectView(R.id.btn_in)
Button in; //收件箱
@InjectView(R.id.btn_send)
Button send; //发件箱
@InjectView(R.id.news_pager)
ViewPager mViewPager; //装载fragment
@InjectView(R.id.actionbar)
RelativeLayout actionbar;
List<Fragment> views;
@InjectView(R.id.btn_write_msg)
View write;
@Override
public void onActivityCreated(Bundle savedInstanceState) {
super.onActivityCreated(savedInstanceState);
// in.setBackgroundResource(R.drawable.left_top_btn_press);
initView();
setCurPage(PAGE_NEWS);
// if (VERSION.SDK_INT >= VERSION_CODES.KITKAT) {
// setTranslucentStatus(true);
// SystemBarTintManager tintManager = new SystemBarTintManager(getActivity());
// tintManager.setStatusBarTintEnabled(true);
// tintManager.setStatusBarTintResource(R.color.action_bar_color);
// SystemBarConfig config = tintManager.getConfig();
// actionbar.setPadding(0, config.getPixelInsetTop(true), 0, 0);
// }
}
@TargetApi(19)
private void setTranslucentStatus(boolean on) {
Window win = getActivity().getWindow();
WindowManager.LayoutParams winParams = win.getAttributes();
final int bits = WindowManager.LayoutParams.FLAG_TRANSLUCENT_STATUS;
if (on) {
winParams.flags |= bits;
} else {
winParams.flags &= ~bits;
}
win.setAttributes(winParams);
}
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
return inflater.inflate(R.layout.layout_news_fragment, null);
}
private void initView() {
views = new ArrayList<Fragment>();
InBoxFragment inbox = new InBoxFragment();
SendBoxFragment sendbox = new SendBoxFragment();
views.add(inbox);
views.add(sendbox);
mViewPager.setAdapter(new MyPagerAdapter(getActivity().getSupportFragmentManager()));
mViewPager.setOnPageChangeListener(new OnPageChangeListener() {
@Override
public void onPageSelected(int arg0) {
setCurPage(arg0);
}
@Override
public void onPageScrolled(int arg0, float arg1, int arg2) {
}
@Override
public void onPageScrollStateChanged(int arg0) {
}
});
in.setOnClickListener(this);
send.setOnClickListener(this);
write.setOnClickListener(this);
}
public void setCurPage(int pageIndex) {
clearBtnSelectionState();
switch (pageIndex) {
case PAGE_NEWS:
in.setBackgroundResource(R.drawable.left_top_btn_press);
break;
case PAGE_REPLY:
send.setBackgroundResource(R.drawable.right_top_btn_press);
break;
}
}
public void clearBtnSelectionState() {
in.setBackgroundResource(R.drawable.left_btn_selector);
send.setBackgroundResource(R.drawable.right_btn_selector);
}
class MyPagerAdapter extends FragmentPagerAdapter {
public MyPagerAdapter(FragmentManager fm) {
super(fm);
}
@Override
public Fragment getItem(int arg0) {
return views.get(arg0);
}
@Override
public int getCount() {
return views.size();
}
}
@Override
public void onClick(View v) {
if (v == in) {
setCurPage(PAGE_NEWS);
mViewPager.setCurrentItem(PAGE_NEWS, true);
} else if (v == send) {
setCurPage(PAGE_REPLY);
mViewPager.setCurrentItem(PAGE_REPLY, true);
} else if(v == write){
// final AlertDialog dlg = new AlertDialog.Builder(getActivity()).create();
// dlg.setCancelable(false);
// dlg.show();
// Window window = dlg.getWindow();
// window.clearFlags(WindowManager.LayoutParams.FLAG_ALT_FOCUSABLE_IM);
// // *** 主要就是在这里实现这种效果的.
// // 设置窗口的内容页面,shrew_exit_dialog.xml文件中定义view内容
// window.setContentView(R.layout.view_alertdialog_edit);
//// window.setGravity(Gravity.TOP);
// Button but = (Button)window.findViewById(R.id.flot_but);
// but.setOnClickListener(new OnClickListener() {
//
// @Override
// public void onClick(View v) {
// dlg.cancel();
// }
// });
new com.linju.android_property.dialog.AlertDialog(getActivity()).builder().setTitle("MaterialDialog")
.setMsg("嗨!这是一个 MaterialDialog. 它非常方便使用,你只需将它实例化,这个美观的对话框便会自动地显示出来。" +
"它简洁小巧,完全遵照 Google 2014 年发布的 Material Design 风格,希望你能喜欢它!^ ^")
.withDuration(400)
.withEffect(Effectstype.Zoomin)
.withOutEffect(Effectstype.ZoomOut)
.setCancelable(false)
.setPositiveButton("确认使用", new OnClickListener() {
@Override
public void onClick(View v) {
}
}).setNegativeButton("取消", new OnClickListener() {
@Override
public void onClick(View v) {
}
}).show();
// MaterialDialog mMaterialDialog;
// mMaterialDialog = new MaterialDialog(getActivity());
// mMaterialDialog.setTitle("MaterialDialog");
// mMaterialDialog.setMessage("Hi! This is a MaterialDialog. It's very easy to use, you just new it, " +
// "then the beautiful AlertDialog will show automatedly. It is artistic, conforms to Google Material Design." +
// " I hope that you can like it, enjoys it. ^ ^");
// mMaterialDialog.setPositiveButton("OK", new View.OnClickListener() {
// @Override
// public void onClick(View v) {
// mMaterialDialog.dismiss();
// Toast.makeText(getActivity(), "Ok", Toast.LENGTH_LONG).show();
//
// }
// });
//
// mMaterialDialog.setNegativeButton("CANCLE", new View.OnClickListener() {
// @Override
// public void onClick(View v) {
// mMaterialDialog.dismiss();
// Toast.makeText(getActivity(), "Cancle", Toast.LENGTH_LONG).show();
// }
// });
// mMaterialDialog.show();
// }
}
}
}