FreeRDP
Loading...
Searching...
No Matches
com.freerdp.freerdpcore.presentation.FloatingToolbar Class Reference

Data Structures

interface  Listener
 

Public Member Functions

void setInsets (int left, int top, int right, int bottom)
 
 FloatingToolbar (Activity activity, Listener listener)
 

Detailed Description

Definition at line 22 of file FloatingToolbar.java.

Constructor & Destructor Documentation

◆ FloatingToolbar()

com.freerdp.freerdpcore.presentation.FloatingToolbar.FloatingToolbar ( Activity  activity,
Listener  listener 
)
inline

Definition at line 54 of file FloatingToolbar.java.

55 {
56 container = activity.findViewById(R.id.floating_toolbar_container);
57 buttons = activity.findViewById(R.id.floating_toolbar_buttons);
58 View handle = activity.findViewById(R.id.floating_toolbar_handle);
59 setTooltip(handle);
60
61 GestureDetector gestureDetector =
62 new GestureDetector(activity, new GestureDetector.SimpleOnGestureListener() {
63 @Override public boolean onSingleTapConfirmed(MotionEvent e)
64 {
65 toggle();
66 return true;
67 }
68 });
69
70 View.OnTouchListener dragListener = buildDragListener(activity, gestureDetector, handle);
71 container.setOnTouchListener(dragListener);
72 handle.setOnTouchListener(dragListener);
73 for (int i = 0; i < buttons.getChildCount(); i++)
74 buttons.getChildAt(i).setOnTouchListener(dragListener);
75
76 bindButton(activity, R.id.floating_toolbar_touch_pointer, listener::onToggleTouchPointer);
77 bindButton(activity, R.id.floating_toolbar_sys_keyboard, listener::onToggleSysKeyboard);
78 bindButton(activity, R.id.floating_toolbar_ext_keyboard, listener::onToggleExtKeyboard);
79
80 ViewTreeObserver vto = container.getViewTreeObserver();
81 vto.addOnGlobalLayoutListener(new ViewTreeObserver.OnGlobalLayoutListener() {
82 @Override public void onGlobalLayout()
83 {
84 container.getViewTreeObserver().removeOnGlobalLayoutListener(this);
85 View parent = (View)container.getParent();
86 if (parent == null)
87 return;
88 positionInitial(parent);
89 parent.addOnLayoutChangeListener((v, left, top, right, bottom, oldLeft, oldTop,
90 oldRight, oldBottom) -> {
91 if (right - left != oldRight - oldLeft || bottom - top != oldBottom - oldTop)
92 resnapToSameEdge();
93 });
94 }
95 });
96 }

Member Function Documentation

◆ setInsets()

void com.freerdp.freerdpcore.presentation.FloatingToolbar.setInsets ( int  left,
int  top,
int  right,
int  bottom 
)
inline

Definition at line 46 of file FloatingToolbar.java.

47 {
48 insetLeft = left;
49 insetTop = top;
50 insetRight = right;
51 insetBottom = bottom;
52 }

The documentation for this class was generated from the following file: