Floating widget / overlay on Android launcher

2 answers

. , , github, , android stackexchange.com, -, , , , , , "Page Up/" " , ( ), . - , Android , .

, onCreate

WindowManager.LayoutParams layOutParams = new WindowManager.LayoutParams(
                WindowManager.LayoutParams.TYPE_SYSTEM_OVERLAY,
                WindowManager.LayoutParams.FLAG_WATCH_OUTSIDE_TOUCH,
                PixelFormat.TRANSLUCENT);

WindowManager.LayoutParams.TYPE_SYSTEM_OVERLAY WindowManager.LayoutParams.FLAG_WATCH_OUTSIDE_TOUCH.

, , , "" . onTouch, :

LayoutInflater layOutInflater = (LayoutInflater)getSystemService(LAYOUT_INFLATER_SERVICE);
View myView = layOutInflater.inflate(R.layout.myview, null);

myView.setOnTouchListener(new OnTouchListener(){
    @Override
    public boolean onTouch(View v, MotionEvent event) {
      ....
    }
});

, myview,

Button myButton = (Button)myView.findViewById(R.id.myButton);
Rect outRectHit = new Rect();
myButton.getHitRect(outRectHit);

"" , onTouch:

float x = event.getX();
float y = event.getY();
if (x > outRectHit.left && x < outRectHit.right &&
    y > outRectHit.top && y < outRectHit.bottom){
     ... Handle this accordingly
}

, โ€‹โ€‹, .

, - . , , OpenGL, ?

, , .

+11

, Tooleap SDK. Android .

, , Activity MyActivity

Intent intent = new Intent(context, MyActivity.class);
TooleapPopOutMiniApp miniApp = new TooleapPopOutMiniApp(context, intent);
Tooleap tooleap = Tooleap.getInstance(context);
tooleap.addMiniApp(miniApp);

MyActivity .

+6

All Articles