/** * 用户保存头像 * * @author user */ private void iniPopupWindow() { moreList = new ArrayList<Map<String, String>>(); Map<String, String> map; String[] array = getResources().getStringArray(R.array.user_category); for (int i = 0; i < array.length; i++) { map = new HashMap<String, String>(); map.put("share_key", array[i]); moreList.add(map); } LayoutInflater inflater = (LayoutInflater) getSystemService(android.content.Context.LAYOUT_INFLATER_SERVICE); View layout = inflater.inflate(R.layout.task_detail_popupwindow, null); lvPopupList = (ListView) layout.findViewById(R.id.lv_popup_list); pwMyPopWindow = new PopupWindow(layout); pwMyPopWindow.setFocusable(true); lvPopupList.setAdapter( new SimpleAdapter( this, moreList, R.layout.list_item_popupwindow, new String[] {"share_key"}, new int[] {R.id.tv_list_item})); lvPopupList.setOnItemClickListener( new OnItemClickListener() { @Override public void onItemClick(AdapterView<?> parent, View view, int position, long id) { user_manager_category_stub.setText(moreList.get(position).get("share_key")); pwMyPopWindow.dismiss(); Toast.makeText( UserControlCommonActivity.this, moreList.get(position).get("share_key"), Toast.LENGTH_SHORT) .show(); } }); lvPopupList.measure(View.MeasureSpec.UNSPECIFIED, View.MeasureSpec.UNSPECIFIED); pwMyPopWindow.setWidth(lvPopupList.getMeasuredWidth()); pwMyPopWindow.setHeight((lvPopupList.getMeasuredHeight() - 10) * NUM_OF_VISIBLE_LIST_ROWS); pwMyPopWindow.setBackgroundDrawable(this.getResources().getDrawable(R.color.transparent)); pwMyPopWindow.setOutsideTouchable(true); }
public static Dialog show( Activity activity, final DialogOptions options, final IDialogResponse response) { final Dialog dialog = new Dialog(activity); dialog.requestWindowFeature(Window.FEATURE_NO_TITLE); dialog.setContentView(R.layout.dialog_base); FontManager.handleFontTags(dialog.findViewById(R.id.dialog_container)); final ArrayList<EditText> editTexts = new ArrayList<EditText>(); final IDialogAdapter<?> adapter = options.getDialogAdapter(); final ListView list = (ListView) dialog.findViewById(R.id.dialog_list); if (adapter == null) { Utils.remove(list); } else { list.setAdapter(new DialogInternalAdapter(adapter)); } // give scrollable view a max height ViewGroup.LayoutParams scrollWrapParams = list.getLayoutParams(); list.measure(list.getWidth(), list.getHeight()); Utils.d("Ok " + list.getWidth() + " ; " + list.getHeight()); Utils.d("Ok " + list.getMeasuredWidth() + " ; " + list.getMeasuredHeight()); // if (scroll.getMeasuredHeight() < scrollWrapParams.height) { // scrollWrapParams.height = scroll.getMeasuredHeight(); // scrollWrap.setLayoutParams(scrollWrapParams); // } final TextView title = (TextView) dialog.findViewById(R.id.dialog_title); title.setText(options.getTitle()); final TextView description = (TextView) dialog.findViewById(R.id.dialog_description); description.setText(options.getDescription()); Button negative = (Button) dialog.findViewById(R.id.dialog_negative); if (!options.isNegativeButtonEnabled()) { Utils.remove(negative); } else { negative.setText(options.getNegative()); if (options.isReverseColors()) { negative.setTextColor(Utils.color(R.color.positive)); } negative.setOnClickListener( new View.OnClickListener() { @Override public void onClick(View view) { if (response != null) { response.onNegative(); } dialog.dismiss(); } }); } Button positive = (Button) dialog.findViewById(R.id.dialog_positive); if (!options.isPositiveButtonEnabled()) { Utils.remove(positive); } else { positive.setText(options.getPositive()); if (options.isReverseColors()) { positive.setTextColor(Utils.color(R.color.negative)); } positive.setOnClickListener( new View.OnClickListener() { @Override public void onClick(View view) { if (response != null) { response.onPositive(); } dialog.dismiss(); } }); } dialog.setOnCancelListener( new DialogInterface.OnCancelListener() { @Override public void onCancel(DialogInterface dialogInterface) { if (response != null) { response.onCancel(); } } }); dialog.show(); return dialog; }
private void setPopWindow(View v) { if (adapter == null) { adapter = new MyAdapter(mList, context) { @Override public View getView(int position, View convertView, ViewGroup parent) { View view = View.inflate(context, R.layout.layout_listview_text, null); TextView tv = (TextView) view.findViewById(R.id.tv_text); if (mCurrent == position) { tv.setTextColor(Color.parseColor("#66c6f2")); } else { tv.setTextColor(Color.parseColor("#FFFFFF")); } tv.setText(mList.get(position)); return view; } }; mListView.setAdapter(adapter); } else { adapter.notifyDataSetChanged(); } mListView.setOnItemClickListener( new OnItemClickListener() { @Override public void onItemClick(AdapterView<?> parent, View view, int position, long id) { mCurrent = position; if (position == 0) { mHistoryOne.setVisibility(View.GONE); mHistoryTwo.setVisibility(View.VISIBLE); setVisibility(mListTwo); // defaultColor(); // mTwo.setTextColor(Color.parseColor("#66c6f2")); mPosition.setText("二手房"); } else { if (bOne) { initData(mSpOne, mListOne, 1, "mListOne"); bOne = false; } mHistoryTwo.setVisibility(View.GONE); mHistoryOne.setVisibility(View.VISIBLE); setVisibility(mListOne); // defaultColor(); // mOne.setTextColor(Color.parseColor("#66c6f2")); mPosition.setText("出租房"); } close(); adapter.notifyDataSetChanged(); } }); popupWindow = new PopupWindow(context); popupWindow.setContentView(mView); mListView.measure(View.MeasureSpec.UNSPECIFIED, View.MeasureSpec.UNSPECIFIED); // popupWindow.setHeight(LayoutParams.WRAP_CONTENT); // popupWindow.setWidth(LayoutParams.WRAP_CONTENT); popupWindow.setFocusable(true); popupWindow.setOutsideTouchable(true); popupWindow.setWidth(mListView.getMeasuredWidth()); // popupWindow.setHeight((mListView.getMeasuredHeight() + 20)*2-5); popupWindow.setHeight(LayoutParams.WRAP_CONTENT); Drawable d = getResources().getDrawable(R.drawable.bg_popupwindow); popupWindow.setBackgroundDrawable(d); }