接口回调方法刷新自定义布局

来源:互联网 发布:淘宝无线端优惠券链接 编辑:程序博客网 时间:2024/05/16 14:44
//自定义布局public class MyLayout extends RelativeLayout{        private Context mContext;    private ICallBack mCallBack;    public void setCallBack(ICallBack  cb){        mCallBack = cb;    }    /**     * 接口     */    public interface ICallBack{        public void update();    } public boolean onTouchEvent(android.view.MotionEvent event) { //调用接口方法  if(mCallBack != null){            mCallBack.update();          }        return false;        };           //布局初始化    public MyLayout(Context context) {        super(context);                mContext = context;        LayoutInflater.from(context).inflate(R.layout.mylayout, this);        View v = findViewById(R.id.layout_name);        ......}}可在Activity中创建上面的布局实现其接口方法来刷新ui等操作private WindowManager mWindowManager;  private WindowManager.LayoutParams wmParams;     //创建布局并实现接口方法    public void createMyLayout(){    wmParams = new WindowManager.LayoutParams();      mWindowManager = getWindowManager(mContext);            mLayout = new MyLayout (mContext);            if (wmParams == null) {                wmParams = new LayoutParams();                wmParams.type = LayoutParams.TYPE_PHONE;                wmParams.format = PixelFormat.RGBA_8888;                wmParams.gravity = Gravity.LEFT | Gravity.TOP;             //不可聚焦            //    wmParams.flags = LayoutParams.FLAG_NOT_FOCUSABLE;                 //设置窗口长宽数据                    wmParams.width = WindowManager.LayoutParams.WRAP_CONTENT;                  wmParams.height = WindowManager.LayoutParams.WRAP_CONTENT;                  //设置x,y轴坐标                wmParams.x = 0;                wmParams.y = 0;          }    //将布局添加到窗口            mWindowManager.addView(mLayout, wmParams);           //实现接口方法            mLayout.setCallBack(new ICallBack() {                                @Override                public void update() {                    //实现方法......                }            });                    }}
0 0
原创粉丝点击