Sub InputDlg(Title As String, TitleTextSize As Int, DefText As String) As ResumableSub
Dim input As B4XInputTemplate
input.Initialize
input.TextField1.TextColor = xui.Color_Black
input.Text = DefText
input.TextField1.EditTextHint = "Names are case sensitive"
input.lblTitle.TextColor = xui.Color_Black
If TitleTextSize > 0 Then input.lblTitle.TextSize = TitleTextSize
input.SetBorderColor(xui.Color_Black, xui.Color_Red)
Dim Pnl As B4XView = xui.CreatePanel("")
Pnl.Color = xui.Color_White
input.TextField1.Parent.AddView(Pnl, input.TextField1.Left, input.TextField1.Top, input.TextField1.Width, input.TextField1.Height)
Pnl.SendToBack
' input.TextField1.SetColorAndBorder(XUI.Color_ARGB(255, 0, 0,0), 1dip, XUI.Color_Black, 0)
Dialog.BlurBackground = False
Dialog.BackgroundColor = 0xFFF1F1F1
Dialog.ButtonsColor = 0xFFB3B3B3 'you CAN set colors directly from the color picker
Dialog.ButtonsTextColor = xui.Color_Black
Dialog.OverlayColor = xui.Color_ARGB(95, 0, 0, 0) 'this sets the overall background
Dialog.ButtonsOrder = Array As Int(xui.DialogResponse_Negative, xui.DialogResponse_Cancel, xui.DialogResponse_Positive)
input.lblTitle.Text = Title
Dim Dlg As Object = Dialog.ShowTemplate(input, "OK", "", "CANCEL")
' BorderForBtns(Dialog.GetButton(xui.DialogResponse_Cancel))
' BorderForBtns(Dialog.GetButton(xui.DialogResponse_Positive))
' BorderForBtns(Dialog.GetButton(xui.DialogResponse_Negative))
Dim X As Int, Btn As B4XView
For x = -3 To -1
Btn = Dialog.GetButton(X)
' put a border around the buttons
If Btn.IsInitialized Then
Dim Pnl As B4XView = xui.CreatePanel("")
Pnl.SetColorAndBorder(xui.Color_Black, 2dip, xui.Color_Black, 5dip)
Btn.Parent.AddView(Pnl, Btn.Left - 2dip, Btn.Top - 2dip, Btn.Width + 2dip, Btn.Height + 2dip)
Pnl.SendToBack
' Btn.RequestFocus 'doesn't work Set the focus to the button so the hint text is visible
End If
Next
Wait For (Dlg) Complete (Result As Int)
If Result = xui.DialogResponse_Positive Then
Return input.Text
End If
Return ""
End Sub