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(); } }