اطلاعیه

کاربر گرامی

به انجمن برنامه نویسی AnswerCenter.ir خوش آمدید

- برای استفاده از تمامی امکانات سایت لطفا در انجمن عضو شوید


امین مهدی نژاد

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

1 پست در این موضوع قرار دارد

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

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

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)

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

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

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

مجید آرتا و abtin20 پسند شده

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


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

برای ارسال نظر یک حساب کاربری ایجاد کنید یا وارد حساب خود شوید

برای اینکه بتوانید نظر ارسال کنید نیاز دارید که کاربر سایت شوید

ایجاد یک حساب کاربری

برای حساب کاربری جدید در انجمن ما ثبت نام کنید. عضویت خیلی ساده است !


ثبت نام یک حساب کاربری جدید

ورود به حساب کاربری

دارای حساب کاربری هستید؟ از اینجا وارد شوید


ورود به حساب کاربری