راهنمایی کاربر در استفاده از برنامه – B4A

[tx_heading style=”default” heading_text=”راهنمایی کاربر در استفاده از برنامه – B4A” tag=”h3″ size=”24″ margin=”24″ align=”center”]

باسلام

مواقعی هست که شما میخواید مطمئن بشید محیط کاربری ( user interface ) برنامه کاربر رو گیج نمیکنه و کاربر در همون استفاده اول میفهمه که هر باتن، تکست ویو یا . . . کاربردش چیه.

خب پس در این صورت میخوام بهتون یه تابع ( function ) معرفی کنم که این کار رو براتون انجام میده.

قدم به قدم پیش میریم؛ اول از همه کتابخونه های Reflector و JavaObject رو فعال کنید.

برای مرحله دوم؛ کدهای زیر رو به آخر اکتیویتی اضافه کنین ( البته اگه حرکت حرفه ای رو ترجیح میدین، میتونین یک کلاس جدید باز کنید و این توابع رو بهش اضافه کنید. )

[php]
Sub showTooltip(viewArg As View, text As String)
    Dim const verticalOffset As Int = ۶۰dip
    Dim position(2) As Int
    position = getScreenPosition(viewArg)
    Dim toastTop As Int = position(1) – verticalOffset
    If toastTop < ۰ Then
        toastTop = position(1) + verticalOffset
    End If
    showToastAt(position(0), toastTop, text, False)
End Sub

Sub showToastAt(x As Int, y As Int, text As String, longDuration As Boolean)
    Dim duration As Int
    If longDuration = True Then
        duration = ۱
    Else
        duration = ۰
    End If
    Dim r As Reflector
    r.Target = r.GetActivity
    Dim toastJO As JavaObject
    toastJO.InitializeStatic("android.widget.Toast")
    Dim toastJO2 As JavaObject
    toastJO2 = toastJO.RunMethod("makeText", Array As Object(r.GetContext, text, duration))
    toastJO2.RunMethod("setGravity", Array As Object (Bit.Or(Gravity.TOP, Gravity.LEFT), x, y))
    toastJO2.RunMethod("show", Null)
End Sub

Sub getScreenPosition(viewArg As View) As Int()
    Dim position(2), parentPosition(2) As Int
    If viewArg.parent Is ScrollView Then
        Dim sv As ScrollView = viewArg.Parent
        position(0) = sv.left
        position(1) = sv.Top – sv.ScrollPosition
        Return position
    else If viewArg.parent Is AHViewPager Then
        Dim pager As AHViewPager = viewArg.Parent
        position(0) = pager.left
        position(1) = pager.Top
        Return position
    else if viewArg.parent = getCurrentActivity Then
        position(0) = viewArg.Left
        position(1) = viewArg.Top
        Return position
    Else
        parentPosition = getScreenPosition(viewArg.parent)
        position(0) = viewArg.Left + parentPosition(0)
        position(1) = viewArg.top + parentPosition(1)
        Return position
    End If
End Sub

Sub getCurrentActivity As Activity
    Dim r As Reflector
    r.Target = r.GetActivityBA
    Return r.GetField("vg")   
End Sub
[/php]

و تمام !

حالا تنها کاری که لازمه انجام بدید، اینه که به شکلی که پایین میگم ازین تابع استفاده کنید.

[php]
showTooltip(Sender, " text ")
[/php]

بجای text متن راهنمای موردنظرتون رو بذارید و بجای sender اسم شیئ مورد نظر.

ترجمه شده توسط prolearning.ir

منبع : Android Code Snippet show tooltip for view

نویسنده مطلب: امیرحسین م.

برنامه نویس مولتی پلتفرم

یک دیدگاه در “راهنمایی کاربر در استفاده از برنامه – B4A

پاسخ دهید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *