zoukankan      html  css  js  c++  java
  • 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的

      

  • 相关阅读:
    WC2020「Illusory」
    WC2015-2019
    Java基础——数组
    Java基础——Java基础语法和使用
    完善README——MarkDown模板[EN]
    完善README——MarkDown模板[CN]
    完善README——Markdown语法概要总结
    Java基础——Java如何导入本地项目
    Java基础——Java的历史以及平台应用
    AndroidSDK——和风天气使用初体验
  • 原文地址:https://www.cnblogs.com/tleopard/p/4614867.html
Copyright © 2011-2022 走看看