Android popupwindow使用心得(一)

最近项目中好多地方用到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的

  

你可能感兴趣的:(PopupWindow)