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

قراردادن پس زمینه دوم به باتن


hosein_h

سوال

با عرض سلام وخسته نباشید

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

با تشکر

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

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

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

در 1 ساعت قبل، hosein_h گفته است :

 

سلام خدمت سما. باید از StateListDrawable استفاده کنید. حالتهای مختلف و بیتمپ متناسب رو بدین و بکگراند باتن بزارین. یه مثال از سایت مرجع.


	Dim btnBitmap As Button
	' Define a BitmapDrawable for Enabled state
	Dim bdwEnabled As BitmapDrawable
	bdwEnabled.Initialize(LoadBitmap(File.DirAssets, "btnArrowDown0.png"))
	' Define a BitmapDrawable for Pressed state
	Dim bdwPressed As BitmapDrawable
	bdwPressed.Initialize(LoadBitmap(File.DirAssets, "btnArrowDown1.png"))
	' Define a StateListDrawable
	Dim stdBitmap As StateListDrawable
	stdBitmap.Initialize
	Dim states(2) As Int
	states(0) = stdBitmap.state_enabled
	states(1) = -stdBitmap.state_pressed
	stdBitmap.addState2(states, bdwEnabled)
	Dim states(1) As Int
	states(0) = stdBitmap.state_enabled
	stdBitmap.addState2(states, bdwPressed)
	' Set stdBitmap to button btnBitmap
	btnBitmap.Background = stdBitmap

 

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

در 22 ساعت قبل، محمدرضا شاهپیری گفته است :

سلام خدمت سما. باید از StateListDrawable استفاده کنید. حالتهای مختلف و بیتمپ متناسب رو بدین و بکگراند باتن بزارین. یه مثال از سایت مرجع.



	Dim btnBitmap As Button
	' Define a BitmapDrawable for Enabled state
	Dim bdwEnabled As BitmapDrawable
	bdwEnabled.Initialize(LoadBitmap(File.DirAssets, "btnArrowDown0.png"))
	' Define a BitmapDrawable for Pressed state
	Dim bdwPressed As BitmapDrawable
	bdwPressed.Initialize(LoadBitmap(File.DirAssets, "btnArrowDown1.png"))
	' Define a StateListDrawable
	Dim stdBitmap As StateListDrawable
	stdBitmap.Initialize
	Dim states(2) As Int
	states(0) = stdBitmap.state_enabled
	states(1) = -stdBitmap.state_pressed
	stdBitmap.addState2(states, bdwEnabled)
	Dim states(1) As Int
	states(0) = stdBitmap.state_enabled
	stdBitmap.addState2(states, bdwPressed)
	' Set stdBitmap to button btnBitmap
	btnBitmap.Background = stdBitmap

 

با عرض سلام ممنون که جواب دادین

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


Sub Globals

    Private Button1 As Button
End Sub

Sub Activity_Create(FirstTime As Boolean)

    Activity.LoadLayout("2")
    Dim Button1 As Button
    ' Define a BitmapDrawable for Enabled state
    Dim bdwEnabled As BitmapDrawable
    bdwEnabled.Initialize(LoadBitmap(File.DirAssets, "1.png"))
    ' Define a BitmapDrawable for Pressed state
    Dim bdwPressed As BitmapDrawable
    bdwPressed.Initialize(LoadBitmap(File.DirAssets, "2.png"))
    ' Define a StateListDrawable
    Dim stdBitmap As StateListDrawable
    stdBitmap.Initialize
    Dim states(2) As Int
    states(0) = stdBitmap.state_enabled
    states(1) = -stdBitmap.state_pressed
    stdBitmap.addState2(states, bdwEnabled)
    Dim states(1) As Int
    states(0) = stdBitmap.state_enabled
    stdBitmap.addState2(states, bdwPressed)
    ' Set stdBitmap to button btnBitmap
    Button1.Background = stdBitmap
End Sub

Sub Activity_Resume

End Sub

Sub Activity_Pause (UserClosed As Boolean)

End Sub


Sub Button1_Click
    
End Sub

-------------------------------------------------------------------------------------------------------------------

*** Service (starter) Create ***
** Service (starter) Start **
** Activity (main) Create, isFirst = true **
Error occurred on line: 49 (Main)
java.lang.RuntimeException: Object should first be initialized (Button).
    at anywheresoftware.b4a.AbsObjectWrapper.getObject(AbsObjectWrapper.java:50)
    at anywheresoftware.b4a.objects.ViewWrapper.setBackground(ViewWrapper.java:105)
    at java.lang.reflect.Method.invokeNative(Native Method)
    at java.lang.reflect.Method.invoke(Method.java:515)
    at anywheresoftware.b4a.shell.Shell.runMethod(Shell.java:735)
    at anywheresoftware.b4a.shell.Shell.raiseEventImpl(Shell.java:357)
    at anywheresoftware.b4a.shell.Shell.raiseEvent(Shell.java:260)
    at java.lang.reflect.Method.invokeNative(Native Method)
    at java.lang.reflect.Method.invoke(Method.java:515)
    at anywheresoftware.b4a.ShellBA.raiseEvent2(ShellBA.java:144)
    at b4a.example.main.afterFirstLayout(main.java:104)
    at b4a.example.main.access$000(main.java:17)
    at b4a.example.main$WaitForLayout.run(main.java:82)
    at android.os.Handler.handleCallback(Handler.java:733)
    at android.os.Handler.dispatchMessage(Handler.java:95)
    at android.os.Looper.loop(Looper.java:136)
    at android.app.ActivityThread.main(ActivityThread.java:5019)
    at java.lang.reflect.Method.invokeNative(Native Method)
    at java.lang.reflect.Method.invoke(Method.java:515)
    at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:779)
    at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:595)
    at dalvik.system.NativeStart.main(Native Method)
** Activity (main) Resume **

 

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

در در 1397/11/12, 11:41:41، hosein_h گفته است :

با عرض سلام ممنون که جواب دادین

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


Sub Globals

    Private Button1 As Button
End Sub

Sub Activity_Create(FirstTime As Boolean)

    Activity.LoadLayout("2")
    Dim Button1 As Button
    ' Define a BitmapDrawable for Enabled state
    Dim bdwEnabled As BitmapDrawable
    bdwEnabled.Initialize(LoadBitmap(File.DirAssets, "1.png"))
    ' Define a BitmapDrawable for Pressed state
    Dim bdwPressed As BitmapDrawable
    bdwPressed.Initialize(LoadBitmap(File.DirAssets, "2.png"))
    ' Define a StateListDrawable
    Dim stdBitmap As StateListDrawable
    stdBitmap.Initialize
    Dim states(2) As Int
    states(0) = stdBitmap.state_enabled
    states(1) = -stdBitmap.state_pressed
    stdBitmap.addState2(states, bdwEnabled)
    Dim states(1) As Int
    states(0) = stdBitmap.state_enabled
    stdBitmap.addState2(states, bdwPressed)
    ' Set stdBitmap to button btnBitmap
    Button1.Background = stdBitmap
End Sub

Sub Activity_Resume

End Sub

Sub Activity_Pause (UserClosed As Boolean)

End Sub


Sub Button1_Click
    
End Sub

-------------------------------------------------------------------------------------------------------------------

*** Service (starter) Create ***
** Service (starter) Start **
** Activity (main) Create, isFirst = true **
Error occurred on line: 49 (Main)
java.lang.RuntimeException: Object should first be initialized (Button).
    at anywheresoftware.b4a.AbsObjectWrapper.getObject(AbsObjectWrapper.java:50)
    at anywheresoftware.b4a.objects.ViewWrapper.setBackground(ViewWrapper.java:105)
    at java.lang.reflect.Method.invokeNative(Native Method)
    at java.lang.reflect.Method.invoke(Method.java:515)
    at anywheresoftware.b4a.shell.Shell.runMethod(Shell.java:735)
    at anywheresoftware.b4a.shell.Shell.raiseEventImpl(Shell.java:357)
    at anywheresoftware.b4a.shell.Shell.raiseEvent(Shell.java:260)
    at java.lang.reflect.Method.invokeNative(Native Method)
    at java.lang.reflect.Method.invoke(Method.java:515)
    at anywheresoftware.b4a.ShellBA.raiseEvent2(ShellBA.java:144)
    at b4a.example.main.afterFirstLayout(main.java:104)
    at b4a.example.main.access$000(main.java:17)
    at b4a.example.main$WaitForLayout.run(main.java:82)
    at android.os.Handler.handleCallback(Handler.java:733)
    at android.os.Handler.dispatchMessage(Handler.java:95)
    at android.os.Looper.loop(Looper.java:136)
    at android.app.ActivityThread.main(ActivityThread.java:5019)
    at java.lang.reflect.Method.invokeNative(Native Method)
    at java.lang.reflect.Method.invoke(Method.java:515)
    at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:779)
    at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:595)
    at dalvik.system.NativeStart.main(Native Method)
** Activity (main) Resume **

 

باعرض سلام کسی ازدوستان میتونه راهنمایی کنه؟

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

در 24 دقیقه قبل، hosein_h گفته است :

باعرض سلام کسی ازدوستان میتونه راهنمایی کنه؟

سلام بفرما اینجوری میتونی کاری ک میخوای رو انجام بدی

 


Sub Globals
	Dim b As Button
	Dim Checked,Unchecked As BitmapDrawable
	Dim sld As StateListDrawable
End Sub

Sub Activity_Create(FirstTime As Boolean)

b.Initialize("b")
Activity.AddView(b,0,0,50%x,50%x)
	Checked.Initialize (LoadBitmap(File.DirAssets, "Desert.jpg"))
	Unchecked.Initialize (LoadBitmap(File.DirAssets, "Hydrangeas.jpg"))
	
	sld.Initialize
	sld.AddState(sld.State_Pressed, Checked)
	sld.AddState(sld.State_Enabled, Unchecked)
	b.Background = sld

End Sub

کلا از StateListDrawable میتونی واسه ویوهای دو یا چند حالته استفاده کنی مثل Button, ToggleButton

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

در 1 ساعت قبل، m007moh گفته است :

سلام بفرما اینجوری میتونی کاری ک میخوای رو انجام بدی

 



Sub Globals
	Dim b As Button
	Dim Checked,Unchecked As BitmapDrawable
	Dim sld As StateListDrawable
End Sub

Sub Activity_Create(FirstTime As Boolean)

b.Initialize("b")
Activity.AddView(b,0,0,50%x,50%x)
	Checked.Initialize (LoadBitmap(File.DirAssets, "Desert.jpg"))
	Unchecked.Initialize (LoadBitmap(File.DirAssets, "Hydrangeas.jpg"))
	
	sld.Initialize
	sld.AddState(sld.State_Pressed, Checked)
	sld.AddState(sld.State_Enabled, Unchecked)
	b.Background = sld

End Sub

کلا از StateListDrawable میتونی واسه ویوهای دو یا چند حالته استفاده کنی مثل Button, ToggleButton 

سلام ممنون از راهنمایتون حل شد فقط یه سوال من باتنو اسکریپ دیزاینر مقدار دهی کردم یه سوال دیگه میتونم تو دیزاینرباتم اظافه کنم بعد عکس تو کدنویسی بدم ممنون از لطفتون

Activity.AddView(b,0,0,50%x,50%x)
btn_12.SetLeftAndRight(2%x,49%x)
btn_12.SetTopAndBottom(91%y,100%y)

 

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

در 14 ساعت قبل، hosein_h گفته است :

سلام ممنون از راهنمایتون حل شد فقط یه سوال من باتنو اسکریپ دیزاینر مقدار دهی کردم یه سوال دیگه میتونم تو دیزاینرباتم اظافه کنم بعد عکس تو کدنویسی بدم ممنون از لطفتون


Activity.AddView(b,0,0,50%x,50%x)

btn_12.SetLeftAndRight(2%x,49%x)
btn_12.SetTopAndBottom(91%y,100%y)

 

 

آره میتونی مشکلی نداره من فقط واسه اینکه همچی کنار هم باشه اینجوری تعریف کردم

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

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

در در 1397/11/17, 10:18:57، m007moh گفته است :

 

آره میتونی مشکلی نداره من فقط واسه اینکه همچی کنار هم باشه اینجوری تعریف کردم

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

ممنون از لطفت:give_rose:

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

بایگانی شده

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

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

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