package com.partynetwork.iparty.iparty;
import android.app.Activity;
import android.graphics.Color;
import android.graphics.drawable.BitmapDrawable;
import android.os.Bundle;
import android.view.Gravity;
import android.view.View;
import android.view.View.OnClickListener;
import android.view.animation.AnimationUtils;
import android.webkit.WebView;
import android.widget.Button;
import android.widget.EditText;
import android.widget.ImageView;
import android.widget.LinearLayout;
import android.widget.LinearLayout.LayoutParams;
import android.widget.PopupWindow;
import android.widget.TextView;
import android.widget.Toast;
import com.partynetwork.dataprovider.json.JsonNetwork;
import com.partynetwork.iparty.R;
import com.partynetwork.iparty.R.color;
import com.partynetwork.iparty.app.api.URLs;
import com.partynetwork.iparty.info.IpartyInfo;
import com.partynetwork.myview.mytoast.MenuBottomPop;
import com.baidu.mobstat.StatService;
import com.lidroid.xutils.BitmapUtils;
import com.lidroid.xutils.ViewUtils;
import com.lidroid.xutils.view.annotation.ViewInject;
import com.lidroid.xutils.view.annotation.event.OnClick;
public class IpartyInfoMoreActivity extends Activity {
public static final String INFO = "info";
// 返回按钮
@ViewInject(R.id.menu_head_left)
LinearLayout back;
// 分享按钮
@ViewInject(R.id.menu_head_right)
LinearLayout share;
// 标题
@ViewInject(R.id.title_tv)
TextView title_tv;
@ViewInject(R.id.title_iv)
ImageView title_iv;
// 详情
@ViewInject(R.id.info_tv)
TextView info_tv;
@ViewInject(R.id.info_ll)
LinearLayout info_ll;
// 关于众筹
@ViewInject(R.id.about_tv)
TextView about_tv;
@ViewInject(R.id.about_ll)
LinearLayout about_ll;
// 问答
@ViewInject(R.id.ask_tv)
TextView ask_tv;
@ViewInject(R.id.ask_ll)
LinearLayout ask_ll;
// 内容主体控件
@ViewInject(R.id.scroll_ll)
LinearLayout scroll_ll;
/**
* 数据源
*/
private IpartyInfo info;
private BitmapUtils bitmapUtils;
// 自定义的弹出框类
MenuBottomPop menuWindow;
// 发送消息弹出框
private PopupWindow messageWindow;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.iparty_info_more);
ViewUtils.inject(this);
init();
}
private void init() {
initData();
initView();
}
private void initData() {
info = (IpartyInfo) getIntent().getParcelableExtra(INFO);
}
/**
*
*/
private void initView() {
bitmapUtils = new BitmapUtils(this);
bitmapUtils.configDefaultBitmapMaxSize(480, 200);
title_tv.setText(info.getEventTitle());
if (info.getEventFrontCoverUrl() == null) {
title_iv.setBackgroundColor(color.gold);
} else {
bitmapUtils.display(title_iv, info.getEventFrontCoverUrl());
}
if (info.getEventModel() == 0) {
about_tv.setText("关于众筹");
} else {
about_tv.setText("关于预定");
}
// 默认选择第一项
choose(0);
}
private String[] str = new String[] { "分享到新浪微博", "分享到微信朋友圈" };
@OnClick({ R.id.menu_head_left, R.id.menu_head_right, R.id.info_tv,
R.id.about_tv, R.id.ask_tv })
public void btnClick(View view) {
switch (view.getId()) {
case R.id.menu_head_left:
finish();
break;
case R.id.menu_head_right:
/* 分享 */
menuWindow = new MenuBottomPop(this, str, menuClick);
menuWindow.showAtLocation(scroll_ll);
break;
case R.id.info_tv:
choose(0);
break;
case R.id.about_tv:
choose(1);
break;
case R.id.ask_tv:
choose(2);
break;
default:
break;
}
}
private OnClickListener menuClick = new OnClickListener() {
public void onClick(View v) {
menuWindow.dismiss();
for (int i = 0; i < str.length; i++) {
if (v.getTag().equals(str[i])) {
Toast.makeText(getApplicationContext(), str[i],
Toast.LENGTH_SHORT).show();
}
}
}
};
/**
* 选择的tabhost菜单项
*
* @param position
*/
private void choose(int position) {
scroll_ll.removeAllViews();
info_ll.setVisibility(View.INVISIBLE);
about_ll.setVisibility(View.INVISIBLE);
ask_ll.setVisibility(View.INVISIBLE);
if (position == 0) {
info_ll.setVisibility(View.VISIBLE);
TextView tv = new TextView(this);
tv.setTextColor(Color.BLACK);
tv.setTextSize(13);
tv.setText(info.getEventContent());
LinearLayout ll = new LinearLayout(this);
ll.setOrientation(LinearLayout.VERTICAL);
if (info.getEventPosterArray() != null) {
for (int i = 0; i < info.getEventPosterArray().length; i++) {
ImageView iv = new ImageView(this);
LinearLayout.LayoutParams lp1 = new LinearLayout.LayoutParams(
LayoutParams.FILL_PARENT, LayoutParams.WRAP_CONTENT);
iv.setLayoutParams(lp1);
bitmapUtils.display(iv, info.getEventPosterArray()[i]);
ll.addView(iv);
}
}
scroll_ll.addView(tv);
scroll_ll.addView(ll);
} else if (position == 1) {
about_ll.setVisibility(View.VISIBLE);
WebView webView = new WebView(this);
LinearLayout.LayoutParams lp = new LinearLayout.LayoutParams(
LayoutParams.FILL_PARENT, LayoutParams.FILL_PARENT);
webView.setLayoutParams(lp);
// 开启Javascript支持
webView.getSettings().setJavaScriptEnabled(true);
// 设置可以自动加载图片
webView.getSettings().setLoadsImagesAutomatically(true);
String url = "";
if (info.getEventModel() == 0) {
url = URLs.URL_API_HOST + "/Ihelp/showzc";
} else {
url = URLs.URL_API_HOST + "/Ihelp/showyd";
}
webView.loadUrl(url);
scroll_ll.addView(webView);
} else if (position == 2) {
ask_ll.setVisibility(View.VISIBLE);
Button bt = new Button(this);
LinearLayout.LayoutParams lp = new LinearLayout.LayoutParams(
LayoutParams.FILL_PARENT, LayoutParams.WRAP_CONTENT);
lp.setMargins(20, 20, 20, 0);
lp.gravity = Gravity.CENTER;
bt.setText("提 问");
bt.setPadding(0, 20, 0, 20);
bt.setBackgroundResource(R.drawable.stroke_btn);
bt.setLayoutParams(lp);
bt.setOnClickListener(new OnClickListener() {
public void onClick(View v) {
showMessageDialog();
}
});
TextView tv = new TextView(this);
tv.setText("关于这个Party,你有什么想了解的,可以问发起人");
tv.setPadding(20, 0, 20, 0);
tv.setTextSize(13);
tv.setTextColor(Color.BLACK);
scroll_ll.addView(bt);
scroll_ll.addView(tv);
} else {
}
}
/**
* 显示发送消息弹窗
*/
private void showMessageDialog() {
View view = View.inflate(IpartyInfoMoreActivity.this,
R.layout.message_dialog, null);
// 弹出框的功能按钮
Button back = (Button) view.findViewById(R.id.back_btn);
Button send = (Button) view.findViewById(R.id.send_btn);
TextView name = (TextView) view.findViewById(R.id.title_tv);
name.setText("发送iMessage给发起人:" + info.getUserName());
final EditText content = (EditText) view.findViewById(R.id.content_et);
// 取消
back.setOnClickListener(new OnClickListener() {
public void onClick(View v) {
messageWindow.dismiss();
}
});
send.setOnClickListener(new OnClickListener() {
public void onClick(View v) {
messageWindow.dismiss();
Toast.makeText(IpartyInfoMoreActivity.this,
content.getText().toString(), Toast.LENGTH_SHORT)
.show();
}
});
view.startAnimation(AnimationUtils.loadAnimation(
IpartyInfoMoreActivity.this, R.anim.push_bottom_in));
if (messageWindow == null) {
messageWindow = new PopupWindow(IpartyInfoMoreActivity.this);
messageWindow.setWidth(LayoutParams.MATCH_PARENT);
messageWindow.setHeight(LayoutParams.MATCH_PARENT);
messageWindow.setBackgroundDrawable(new BitmapDrawable());
messageWindow.setFocusable(true);
messageWindow.setOutsideTouchable(true);
}
messageWindow.setContentView(view);
messageWindow.showAtLocation(scroll_ll, Gravity.CENTER, 0, 0);
messageWindow.update();
}
@Override
protected void onResume() {
StatService.onResume(this);
super.onResume();
}
@Override
protected void onPause() {
StatService.onPause(this);
super.onPause();
}
}