android的popwindow控件,及控件设为圆角

时间:2022-02-21 07:57:00
1、点击按钮跳出菜单栏的控件popwindow,参考http://blog.csdn.net/harvic880925/article/details/49272285


    //添加接口
    implements View.OnClickListener


    //开头定义控件
    private Button b_more;   
    private PopupWindow mPopWindow;  
    private TextView mMenuTv;  
    
    //oncreate中定义
    b_more=(ImageButton) findViewById(R.id.main_imagebutton2);
    b_more.setOnClickListener(this);
  
    private void showPopupWindow(){
//关联弹窗的layout,并设置在哪个页面弹出
        View contentView = LayoutInflater.from(MainActivity.this).inflate(R.layout.more, null); 
        
        //关联弹窗
        mPopWindow = new PopupWindow(contentView);
        
        //设置弹窗的高宽
        mPopWindow.setWidth(300);  
        mPopWindow.setHeight(ViewGroup.LayoutParams.WRAP_CONTENT);  
        
        //设置背景色
        mPopWindow.setBackgroundDrawable(new ColorDrawable(0x00000000));
        
        //设置点击弹窗以外的地方是否会响应点击
        mPopWindow.setOutsideTouchable(false);
        
        //设置点击其他地方是否会关闭弹窗
        mPopWindow.setFocusable(true);
        
        //获取弹窗的焦点
        TextView tv1 = (TextView)contentView.findViewById(R.id.pop_addfriend);  
        TextView tv2 = (TextView)contentView.findViewById(R.id.pop_managefriend);  
        tv1.setOnClickListener(this);  
        tv2.setOnClickListener(this);  
  
        //显示弹窗,b_more为点击显示出弹窗的控件,弹窗会在此控件左下弹出
        mPopWindow.showAsDropDown(b_more); 
}


    //按钮响应事件
    public void onClick(View view) {
int id=view.getId();
switch(id){
case R.id.pop_addfriend:{

}break;
case R.id.pop_managefriend:{
Intent intent = new Intent(MainActivity.this, ManagefriendActivity.class);
startActivity(intent);
}break;
case R.id.main_imagebutton2:{
showPopupWindow();//点击按钮执行函数、弹出窗体
}break;
}
}


2、listview中item长按事件
    //添加接口
    implements OnItemLongClickListener


    //listview添加监听
    listview.setOnItemLongClickListener(this); 


    //监听响应函数
    public boolean onItemLongClick(AdapterView<?> parent, View view, int position, long id) {
// TODO Auto-generated method stub
//长按后执行
                //view返回为当前视图,position返回的是长按的item是listview中的第几个


}


3、布局样式设置为圆角.xml文件


    <?xml version="1.0" encoding="utf-8"?>  
<shape xmlns:android="http://schemas.android.com/apk/res/android" >  


    <!--设置边距-->  
    <padding  
            android:bottom="10dp"  
            android:left="10dp"  
            android:right="10dp"  
            android:top="10dp" />  
  
    <!--控制边界线颜色和大小-->  
    <stroke  
            android:width="1dp"  
            android:color="#969696" />  
  
    <!--控制圆角大小-->  
    <corners android:radius="10dp" />  
  
</shape>