package
com.example.tooltip;
import
androidx.appcompat.app.AppCompatActivity;
import
android.graphics.Color;
import
android.os.Bundle;
import
android.view.View;
import
android.widget.Button;
import
android.widget.EditText;
import
android.widget.RelativeLayout;
import
android.widget.TextView;
import
android.widget.Toast;
import
com.tomergoldst.tooltips.ToolTip;
import
com.tomergoldst.tooltips.ToolTipsManager;
public
class
MainActivity
extends
AppCompatActivity
implements
ToolTipsManager.TipListener, View.OnClickListener {
RelativeLayout relativeLayout;
EditText etMessage;
Button btAbove,btRight,btLeft,btBelow;
TextView textView;
ToolTipsManager toolTipsManager;
@Override
protected
void
onCreate(Bundle savedInstanceState) {
super
.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
relativeLayout=findViewById(R.id.relative_layout);
etMessage=findViewById(R.id.et_message);
btAbove=findViewById(R.id.bt_above);
btBelow=findViewById(R.id.bt_below);
btLeft=findViewById(R.id.bt_left);
btRight=findViewById(R.id.bt_right);
textView=findViewById(R.id.text_view);
toolTipsManager=
new
ToolTipsManager(
this
);
btRight.setOnClickListener(
this
);
btLeft.setOnClickListener(
this
);
btAbove.setOnClickListener(
this
);
btBelow.setOnClickListener(
this
);
textView.setOnClickListener(
new
View.OnClickListener() {
@Override
public
void
onClick(View v) {
toolTipsManager.dismissAll();
}
});
}
@Override
public
void
onTipDismissed(View view,
int
anchorViewId,
boolean
byUser) {
if
(byUser)
{
Toast.makeText(getApplicationContext(),
"Dismissed"
, Toast.LENGTH_SHORT).show();
}
}
@Override
public
void
onClick(View v) {
switch
(v.getId())
{
case
R.id.bt_above:
int
position= ToolTip.POSITION_ABOVE;
int
align=ToolTip.ALIGN_RIGHT;
displayToolTip(position,align);
break
;
case
R.id.bt_right:
displayToolTip(ToolTip.POSITION_RIGHT_TO,ToolTip.ALIGN_CENTER);
break
;
case
R.id.bt_below:
displayToolTip(ToolTip.POSITION_BELOW,ToolTip.ALIGN_LEFT);
break
;
case
R.id.bt_left:
displayToolTip(ToolTip.POSITION_LEFT_TO,ToolTip.ALIGN_CENTER);
break
;
}
}
private
void
displayToolTip(
int
position,
int
align) {
String sMessage=etMessage.getText().toString().trim();
toolTipsManager.findAndDismiss(textView);
if
(!sMessage.isEmpty())
{
ToolTip.Builder builder=
new
ToolTip.Builder(
this
,textView,relativeLayout,sMessage,position);
builder.setAlign(align);
builder.setBackgroundColor(Color.BLUE);
toolTipsManager.show(builder.build());
}
else
{
Toast.makeText(getApplicationContext(),
"Type a Message"
, Toast.LENGTH_SHORT).show();
}
}
}