ActionSheet控件

public class ActionSheet {
 
        public interface OnActionSheetSelected {
                void onClick(int whichButton);
        }
 
        private ActionSheet() {
        }
 
        public static Dialog showSheet(Context context, final OnActionSheetSelected actionSheetSelected,
                        OnCancelListener cancelListener) {
                final Dialog dlg = new Dialog(context, R.style.ActionSheet);
                LayoutInflater inflater = (LayoutInflater) context.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
                LinearLayout layout = (LinearLayout) inflater.inflate(R.layout.actionsheet, null);
                final int cFullFillWidth = 10000;
                layout.setMinimumWidth(cFullFillWidth);
 
                TextView mContent = (TextView) layout.findViewById(R.id.content);
                TextView mCancel = (TextView) layout.findViewById(R.id.cancel);
 
                mContent.setOnClickListener(new OnClickListener() {
 
                        @Override
                        public void onClick(View v) {
                                // TODO Auto-generated method stub
                                actionSheetSelected.onClick(0);
                                dlg.dismiss();
                        }
                });
 
                mCancel.setOnClickListener(new OnClickListener() {
 
                        @Override
                        public void onClick(View v) {
                                // TODO Auto-generated method stub
                                actionSheetSelected.onClick(1);
                                dlg.dismiss();
                        }
                });
 
                Window w = dlg.getWindow();
                WindowManager.LayoutParams lp = w.getAttributes();
                lp.x = 0;
                final int cMakeBottom = -1000;
                lp.y = cMakeBottom;
                lp.gravity = Gravity.BOTTOM;
                dlg.onWindowAttributesChanged(lp);
                dlg.setCanceledOnTouchOutside(false);
                if (cancelListener != null)
                        dlg.setOnCancelListener(cancelListener);
 
                dlg.setContentView(layout);
                dlg.show();
 
                return dlg;
        }
 
}


转载于:https://my.oschina.net/oppo4545/blog/203851

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值