رفتن به مطلب
  • 0

زیبا تر کردن checkbox


حمید زارع

سوال

سلام

 

من میخاستم ببینم چه جوری میشه گرافیک checkbox را تغییر بدم تا زیباتر بشه 

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

حداقل چه جوری میتونم مربعش رو واضح تر کنم ؟

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

5 پاسخ به این سوال تاکنون داده شده است

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

درود

خسته نباشید دوست عزیز

شما هم میتونید از عکس استفاده کنید هم از

ToggleButton

:fekr:

 

یا از xml استفاده کنید برای زیبا سازی

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

سلام


تابعش رو میدم بقیش با خودتون ، مشکلی بود بگو سورس بدم.



Sub SetCBDrawable(CB As CheckBox,BoxColor As Int,BoxWidth As Int,TickColor As Int,TickChar As String,DisabledColor As Int,Size As Int,Padding As Int)
Dim SLD As StateListDrawable
SLD.Initialize

Dim BMEnabled,BMChecked,BMDisabled As Bitmap
BMEnabled.InitializeMutable(Size,Size)
BMChecked.InitializeMutable(Size,Size)
BMDisabled.InitializeMutable(Size,Size)
'Draw Enabled State
Dim CNV As Canvas
CNV.Initialize2(BMEnabled)
Dim Rect1 As Rect
Rect1.Initialize(Padding ,Padding ,Size - Padding ,Size - Padding)
CNV.DrawRect(Rect1,BoxColor,False,BoxWidth)
Dim Enabled,Checked,Disabled As BitmapDrawable
Enabled.Initialize(BMEnabled)
'Draw Selected state
Dim CNV1 As Canvas
CNV1.Initialize2(BMChecked)
If TickChar = "Fill" Then
CNV1.DrawRect(Rect1,TickColor,True,BoxWidth)
CNV1.DrawRect(Rect1,BoxColor,False,BoxWidth)
Else
CNV1.DrawRect(Rect1,BoxColor,False,BoxWidth)
'Start small and find the largest font that allows the tick to fit in the box
Dim FontSize As Int = 6
Do While CNV.MeasureStringHeight(TickChar,Typeface.DEFAULT,FontSize) < Size - (BoxWidth * 2) - (Padding * 2)
FontSize = FontSize + 1
Loop
FontSize = FontSize - 1
'Draw the TickChar centered in the box
CNV1.DrawText(TickChar,Size/2,(Size + CNV.MeasureStringHeight(TickChar,Typeface.DEFAULT,FontSize))/2,Typeface.DEFAULT,FontSize,TickColor,"CENTER")
End If
Checked.Initialize(BMChecked)
'Draw disabled State
Dim CNV2 As Canvas
CNV2.Initialize2(BMDisabled)
CNV2.DrawRect(Rect1,DisabledColor,True,BoxWidth)
CNV2.DrawRect(Rect1,BoxColor,False,BoxWidth)
Disabled.Initialize(BMDisabled)

'Add to the StateList Drawable
SLD.AddState(SLD.State_Disabled,Disabled)
SLD.AddState(SLD.State_Checked,Checked)
SLD.AddState(SLD.State_Enabled,Enabled)
SLD.AddCatchAllState(Enabled)
'Add SLD to the Checkbox
Dim JO As JavaObject = CB
JO.RunMethod("setButtonDrawable",Array As Object(SLD))
End Sub
لینک ارسال
به اشتراک گذاری در سایت های دیگر

دستت درد نکنه فکر کنم خوب باشه

ولی جایی نیستم که بتونم تست کنم

اگه سورس دم دستته بی زحمت بزار

ممنون

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

سلام

اقای زارع چرا تاپیک رو توی قست آندروید استودیو زدید !!

لطفا توجه کنید.

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

(شرمنده آقای آرتا حتما حواسم نبوده)

 

آقا این واسه من کار نکرد اگه ممکنه سورس را قرار بدبد

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

بایگانی شده

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

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

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