رفتن به مطلب

گام نوزدهم-تنظیم پسزمینه ویوها


ارسال‌های توصیه شده

هنگام کدنویسی احتمال تغییر پسزمینه ویوها وجود داره

برای اینکار چهار روش زیر وجود داره که به همراه مثال توضیح داده میشه

BitmapDrawable
ColorDrawable
GradientDrawable
StateListDrawable

1-تغییر پس زمینه با عکس دلخواه

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

Dim bd As BitmapDrawable
bd.Initialize(LoadBitmap(File.DirAssets, "SomeImage.png"))
bd.Gravity = Gravity.FILL
Activity.Background = bd

خاصیت Gravity امکان تنظیم موقعیت تصویر در ویو و یا هماهنگ کردن خودش با اندازه ویو به کار می رود.

در اینجا کل ویو رو پوشش می دهد.

2-تغییر پس زمینه با رنگ دلخواه

ColorDrawable هم امکان تنظیم پسزمینه با رنگی دلخواه رو فراهم میکنه. مثلا:

Dim cd As ColorDrawable
cd.Initialize(Colors.Green, 5dip)
Button1.Background = cd

پارامتر دوم در خط دوم کد بالا یعنی 5dip برای تنظیم میزان گرد بودن گوشه های ویو به کار میره. با این کار می تونین ویو رو زیباتر کنید.

3-تغییر پس زمینه با ترکیب چند رنگ

در مثال GradientDrawable زیر:

Dim Gradient1 As GradientDrawable
Dim Clrs(2) As Int
Clrs(0) = Colors.RGB(72,200,255)
Clrs(1) = Colors.RGB(206,240,255)
Gradient1.Initialize("TOP_BOTTOM", Clrs)
Activity.Background=Gradient1

اکتیویتی به رنگ آسمان درمیاد(افق روشنتر از بقیه)

4-تنظیم بکگراند برای انواع حالات مختلف ویو

StateListDrawable به ما کمک میکنه تا بتونیم پسزمینه رو بر اساس خواصی که ویوها دارند تغیر بدیم.

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

State_Checked As Int
'تیک خورده
State_Disabled As Int
'فعال نبودن
State_Enabled As Int
'فعال بودن
State_Focused As Int
'تعلق تمرکز و فوکوس
State_Pressed As Int
'فشرده شده
State_Selected As Int
'انتخاب شده
State_Unchecked As Int
'تیک نخورده

دقت کنید که هر ویو ممکنه یک یا چند مورد از حالات فوق رو داشته باشند و بقیه رو نداشته باشند.

مثال:

 	Dim tb As ToggleButton
    tb.Initialize("") 'no events will be caught
    Dim checked, unchecked As ColorDrawable
    checked.Initialize(Colors.Green, 10dip)
    unchecked.Initialize(Colors.Red, 10dip)

    Dim sld As StateListDrawable
    sld.Initialize
    sld.AddState(sld.State_Checked, checked)
    sld.AddState(sld.State_Unchecked, unchecked)
    tb.Background = sld
    tb.Checked = True
    tb.TextColor = Colors.Blue
    tb.TextSize = 20
    tb.Typeface = Typeface.DEFAULT_BOLD
    Activity.AddView(tb, 100dip, 100dip, 100dip, 100dip)

در مثال بالا رنگ ویو بعد از تیک خوردن سبز و با لغو تیک به قرمز تغیر میکنه.

امیدوارم این آموزش براتون مفید بوده باشه.

«موفق باشید.»

لینک ارسال
به اشتراک گذاری در سایت های دیگر

بایگانی شده

این موضوع بایگانی و قفل شده و دیگر امکان ارسال پاسخ نیست.

  • کاربران آنلاین در این صفحه   0 کاربر

    • هیچ کاربر عضوی،در حال مشاهده این صفحه نیست.
×
×
  • اضافه کردن...