• 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的

      

  • 相关阅读:
    原始数据导入ods
    flume job
    flume拦截器
    Pandas用法总结
    NumPy用法总结
    matplotlib的使用
    【Java】Java线程中断(Interrupt)与阻塞(park)的区别
    【MySQL】MySQL中的索引原理与索引分类
    【JUC】从Lock到AQS了解Java中的锁
    【Redis】Redis 持久化之 RDB 与 AOF 详解
  • 原文地址:https://www.cnblogs.com/tleopard/p/4614867.html
Copyright © 2020-2023  润新知