• 悬浮按钮


    效果图

    //将dp转换为px
    public static int dip2px(Context context, float dpValue) {
        final float scale = context.getResources().getDisplayMetrics().density;
        return (int) (dpValue * scale + 0.5f);
    }
    
    //浮动图片监听
    private void initListener() {
        //弹出对话框
        jianwen.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                View view = LayoutInflater.from(getActivity()).inflate(R.layout.quick_layout, null);
                bbs = (TextView) view.findViewById(R.id.bbs);
                dailyattendance = (TextView) view.findViewById(R.id.dailyattendance);
                Jump.jumpToWeb(getActivity(), bbs, bbs.getText().toString(), Contents.MINE_LUNTAN_URL, false);
                Jump.jumpToWeb(getActivity(), dailyattendance, dailyattendance.getText().toString(), Contents.MINE_REGISTRATION_URL, false);
                
                AlertDialog.Builder builder = new AlertDialog.Builder(getActivity());
                builder.setView(view);
                AlertDialog dialog = builder.create();
                Window window = dialog.getWindow();
                WindowManager.LayoutParams attributes = window.getAttributes();
                attributes.alpha = 0.6f;    //设置对话框透明度
                attributes.gravity = Gravity.BOTTOM;     //设置对话框的位置
                attributes.width = LinearLayout.LayoutParams.MATCH_PARENT;
                window.setAttributes(attributes);
                dialog.show();
            }
        });
    
    
        //移动浮动图片
        jianwen.setOnTouchListener(new View.OnTouchListener() {
            @Override
            public boolean onTouch(View v, MotionEvent event) {
                int widthPixels = getResources().getDisplayMetrics().widthPixels;   //屏幕宽度
                int heightPixels = getResources().getDisplayMetrics().heightPixels;     //屏幕高度
                int width = v.getWidth();   //图片宽带
                int height = v.getHeight();     //图片高度
                switch (event.getAction()) {
                    case MotionEvent.ACTION_MOVE:
                        //图片的绝对位置
                        float x = event.getRawX();
                        float y = event.getRawY();
                        //避免图片滑出屏幕
                        if (x > widthPixels - width) {
                            x = widthPixels - width;
                        }
                        if (y > heightPixels - height - dip2px(getContext(), 75)) {
                            y = heightPixels - height - dip2px(getContext(), 75);
                        }
                        v.setX(x);
                        v.setY(y);
                        break;
                }
                return false;   //表示还可以监听其他事件
            }
        });
    }
  • 相关阅读:
    以相同的條件,把多行記錄的某些欄位串在一起
    拆分記錄
    消息推送
    Web API数据传输加密
    OData 带更新的实例,并能取得元数据格式类型
    在ASP.NET Web API中使用OData
    浏览器根对象window之screen
    浏览器从输入到输出的过程与原理五之网络通信和三次握手
    浏览器从输入到输出的过程与原理四之互联网
    浏览器从输入到输出的过程与原理三之DNS
  • 原文地址:https://www.cnblogs.com/anni-qianqian/p/5530620.html
Copyright © 2020-2023  润新知