码迷,mamicode.com
首页 > 移动开发 > 详细

Android popupwindow使用心得(一)

时间:2015-07-02 00:57:05      阅读:155      评论:0      收藏:0      [点我收藏+]

标签:

最近项目中好多地方用到popupwindow,感觉这个控件还是非常重要的。所以把使用心得总结下,废话不多说,直接上代码。

public class MainActivity extends Activity {

	
	/**
	 * 选择按钮
	 */
	private Button mSelectTypeBtn;


	/**
	 * 显示选择的内容
	 */
	private TextView mSelectedType;

	
	private PopupWindow mPopupWindow;

	@Override
	protected void onCreate(Bundle savedInstanceState) {
		super.onCreate(savedInstanceState);
		setContentView(R.layout.activity_main);
        mSelectTypeBtn = (Button) findViewById(R.id.btn_select_type);
		mSelectedType = (TextView) findViewById(R.id.tv_type);
		mSelectTypeBtn.setOnClickListener(new View.OnClickListener() {

			@Override
			public void onClick(View v) {

				showSelectTypeWindow();
			}
		});

	}

	private void showSelectTypeWindow() {
		LinearLayout contentView = (LinearLayout) getLayoutInflater().inflate(
				R.layout.hd_type_view, null);
		ListView lv = (ListView) contentView
				.findViewById(R.id.hd_type_listview);
		final String[] types = getResources().getStringArray(
				R.array.hd_type_array);
		ArrayAdapter<String> adapter = new ArrayAdapter<String>(
				MainActivity.this, R.layout.hd_type_view_item, types);
		lv.setAdapter(adapter);
        lv.setOnTouchListener(new OnTouchListener() {
			@Override
			public boolean onTouch(View v, MotionEvent event) {
				return MotionEvent.ACTION_MOVE == event.getAction() ? true
						: false;
			}
		});

		lv.setOnItemClickListener(new OnItemClickListener() {
			@Override
			public void onItemClick(AdapterView<?> parent, View view,
					int position, long id) {

				mSelectedType.setText(types[position]);

				mPopupWindow.dismiss();
			}
		});

		mPopupWindow = new PopupWindow(contentView, LayoutParams.MATCH_PARENT,
				LayoutParams.MATCH_PARENT, true);

		mPopupWindow.setAnimationStyle(R.style.popwin_anim_style);

		mPopupWindow.setBackgroundDrawable(new ColorDrawable(-00000));

		mPopupWindow.showAtLocation(findViewById(R.id.parent_lay),
				Gravity.CENTER | Gravity.CENTER, 0, 0);
	}

}

这里的 popupwindow里我没有自定义,直接使用Android自带的。下一篇文章里将会写一个自定义的popupwindow的

  

Android popupwindow使用心得(一)

标签:

原文地址:http://www.cnblogs.com/tleopard/p/4614867.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!