2 سوال در مورد ساخت کتاب اندرویدی با b4a

سوال

با عرض سلام خدمت دوستان گرامی
2تا سوال در مورد ساخت کتاب اندرویدی دارم
اول اینکه امکان جاستیفای کردن متن برای پر شدن خطوط از کلمات جهت مرتب سازی و در یک راستا قرار گرفتن خطوط وجود داره ؟
دوم اینکه زمانیکه گرویتی متنا سمت راست میزارم خیلی بیش از حد متن از سمت راست صفحه شروع میشه . روشی وجود داره که یک فاصله ای از صفحه بذاریم و بعد متن شروع بشه

حل شد 0
2018-06-06T12:40:04+03:30 1 پاسخ ها کاربر تازه 0

پاسخ ( 1 )

    0
    2018-06-06T18:50:48+03:30

    سلام

    در سایت بیسیک کتابخانه ای برای justify کردن متون قرار داده شده، که میتونید دانلود کنید(کلیک کنید).

    که مثال حاوی کدهای زیر در کنار کتابخونه هست:

    'These global variables will be redeclared each time the activity is created.
        'These variables can only be accessed from this module.
        Dim From As String
        Private RTLJustify1 As RTLJustifyTextView
        Dim sv As ScrollView
        Private btn1 As Button
        Private btn2 As Button
        Private Panel1 As Panel
    End Sub
     
    Sub Activity_Create(FirstTime As Boolean)
        'Do not forget to load the layout file created with the visual designer. For example
        sv.Initialize(1900dip)
        Activity.AddView(sv,0,0,100%x,100%y)
        sv.Panel.LoadLayout("Layout1")
        sv.Panel.Height = Panel1.Height
        From = File.ReadString(File.DirAssets, "Arabic-Lipsum.txt")
        RTLJustify1.SetText(From,False)
        RTLJustify1.DrawingCacheEnabled = True   
        RTLJustify1.TextColor = Colors.Blue
        RTLJustify1.TextGravity = RTLJustify1.GRAVITY_FILL_VERTICAL
       
    End Sub
     
    Sub Activity_Resume
     
    End Sub
     
    Sub Activity_Pause (UserClosed As Boolean)
     
    End Sub
     
    Sub btn2_Click
        RTLJustify1.SetText(From,False)
    End Sub
    Sub btn1_Click
        RTLJustify1.SetText(From,True)
    End Sub

    با استفاده از کتابخونه متن رو Justify کنید ببینید مشکل چسبیدن به راست حل میشه یا خیر، اگر حل نشد میتونید بهش padding بدید:

    Sub SetPadding(v As View, Left As Int, Top As Int, Right As Int, Bottom As Int)
    Dim jo As JavaObject = v
    jo.RunMethod("setPadding", Array As Object(Left, Top, Right, Bottom))
    End Sub

    پارمتر اول: ویو مورد نظر و بقیه پارامترها هم فاصله از چپ و بالا و راست و پایین رو مشخص میکنه

    موفق باشید

    بهترین پاسخ

ارسال یک پاسخ