Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
- xmlns:tools="http://schemas.android.com/tools"
- android:layout_width="fill_parent"
- android:id="@+id/l1"
- android:layout_height="fill_parent"
- tools:context=".OverlayActivity" >
- <Button
- android:id="@+id/mainButton"
- android:layout_width="wrap_content"
- android:layout_height="wrap_content"
- android:textAlignment="center"
- android:gravity="center_vertical"
- android:layout_alignParentRight="true"
- android:layout_centerInParent="true"
- android:clickable="true"
- android:visibility="visible"
- android:focusable="true">
- </Button>
- @Override
- public void onCreate() {
- super.onCreate();
- LayoutInflater layoutInflater = (LayoutInflater) getSystemService(LAYOUT_INFLATER_SERVICE);
- View oView = layoutInflater.inflate(R.layout.activity_overlay, null);
- WindowManager.LayoutParams params = new WindowManager.LayoutParams(
- WindowManager.LayoutParams.TYPE_SYSTEM_ALERT,
- 0 | WindowManager.LayoutParams.FLAG_LAYOUT_IN_SCREEN,
- PixelFormat.TRANSLUCENT);
- WindowManager.LayoutParams.TYPE_PHONE,
- WindowManager.LayoutParams.FLAG_NOT_FOCUSABLE | WindowManager.LayoutParams.FLAG_NOT_TOUCH_MODAL | WindowManager.LayoutParams.FLAG_WATCH_OUTSIDE_TOUCH,
- PixelFormat.TRANSLUCENT);
- WindowManager wm = (WindowManager) getSystemService(WINDOW_SERVICE);
- wm.addView(oView, params);
- Button button = (Button)oView.findViewById(R.id.mainButton);
- button.setOnClickListener(new OnClickListener() {
- @Override
- public void onClick(View arg0) {
- Toast.makeText(OverlayService.this, "GotCha!!! ", Toast.LENGTH_LONG).show();
- }
- });
- ViewGroup vg = (ViewGroup)oView.findViewById(R.id.l1);
- final Display metrics = ((WindowManager) getSystemService(Context.WINDOW_SERVICE)).getDefaultDisplay();
- vg.setOnTouchListener(new View.OnTouchListener() {
- @Override
- public boolean onTouch(View v, MotionEvent event) {
- switch(event.getActionMasked()){
- case MotionEvent.ACTION_MOVE:
- int x = (int)event.getX() - offset_x;
- int y = (int)event.getY() - offset_y;
- int w = metrics.getWidth()-100;
- int h = metrics.getHeight()-100;
- if(x > w){
- x = w;
- }
- if(y > h){
- y = h;
- }
- LinearLayout.LayoutParams lp = new LinearLayout.LayoutParams(
- new ViewGroup.MarginLayoutParams(
- LinearLayout.LayoutParams.WRAP_CONTENT,
- LinearLayout.LayoutParams.WRAP_CONTENT));
- lp.setMargins(x, y, 0, 0);
- selected_item.setLayoutParams(lp);
- break;
- default:
- break;
- }
- return true;
- }
- });
- button.setOnTouchListener(new View.OnTouchListener() {
- @Override
- public boolean onTouch(View v, MotionEvent event) {
- switch(event.getActionMasked()){
- case MotionEvent.ACTION_DOWN:
- offset_x = (int)event.getX();
- offset_y = (int)event.getY();
- selected_item = v;
- break;
- default:
- break;
- }
- return false;
- }
- });
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement