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

قرار دادن تعدا زیادی عکس در یک اکتیویتی


peymanparkour

سوال

سلام

چطور میتوان تعداد زیادی عکس در یه اکتیویتی قرار داد که با زدن دکمه ی باتن از یه عکس به عکس بعدی منتقل شه.

اصلا میشه؟؟؟ من که برای هر عکس باید یه ماژول ایجاد کنم!!!

ممنون میشم کمک کنید

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

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

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

در کد بالا یادم رفت بگم که عکسها در پوشه rozeshgh تو DCIM ذخیره می شه که باید اولش بگیم این فولدر رو بسازه تا موقع ذخیره به مشکل بر نخورید

میشه سورسش رو بزارید؟؟

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

نمونه کار قبلی را ویرایش کردم لطفا ببینید

http://answercenter.ir/thread760.html#post4180

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

بنده قبلا کدی به شکل زیر نوشتم میتونید ایده برداری کنید:

عکسارو از پوشه فایل میتونید اضافه کنید

فقط یک نمونس وگرنه بهترشو باید خودت بنویسی

Sub Globals    Dim bitmap1(5) As Bitmap
   Private img As ImageView


End Sub


Sub Activity_Create(FirstTime As Boolean)


   Activity.LoadLayout("img")
   bitmap1=Array As Bitmap(LoadBitmap(File.DirAssets,"1.jpg"),LoadBitmap(File.DirAssets,"2.jpg"),LoadBitmap(File.DirAssets,"3.jpg"),LoadBitmap(File.DirAssets,"4.jpg"),LoadBitmap(File.DirAssets,"5.jpg"))
   img.Bitmap=bitmap1(0)
End Sub


Sub Activity_Resume


End Sub


Sub Activity_Pause (UserClosed As Boolean)


End Sub






Sub next_btn_Click
Try
   Select img.Bitmap
       Case bitmap1(0)
           img.Bitmap=bitmap1(1)
       Case bitmap1(1)
           img.Bitmap=bitmap1(2)
       Case bitmap1(2)
           img.Bitmap=bitmap1(3)
       Case bitmap1(3)
           img.Bitmap=bitmap1(4)
       Case bitmap1(4)
           img.Bitmap=bitmap1(0)
       End Select
Catch
   Log("Err")
End Try
End Sub
Sub Activity_Touch (Action As Int, X As Float, Y As Float)
   Select Action 
   Case Activity.ACTION_MOVE
       Select img.Bitmap
       Case bitmap1(0)
           img.Bitmap=bitmap1(1)
       Case bitmap1(1)
           img.Bitmap=bitmap1(2)
       Case bitmap1(2)
           img.Bitmap=bitmap1(3)
       Case bitmap1(3)
           img.Bitmap=bitmap1(4)
       Case bitmap1(4)
           img.Bitmap=bitmap1(0)
       End Select
   End Select

End Sub

بعد چجوری میشه این کد ادامهکد:

[[/

i[color=#333333][font=Tahoma]f File.Exists(File.DirInternal, "PageNumber.text") Then 
File.Delete(File.DirInternal, "PageNumber.text")[/font][/color]
[color=#333333][font=Tahoma]End If[/font][/color]
[color=#333333][font=Tahoma]File.WriteString(File.DirInternal, "PageNumber.text", "1")[/font][/color]

کد:

s[color=#333333][font=Tahoma]ub Button5_Click 
If File.Exists(File.DirInternal, "PageNumber.text") Then[/font][/color]
[color=#333333][font=Tahoma]Dim a As String[/font][/color]
[color=#333333][font=Tahoma]a = File.ReadString(File.DirInternal, "PageNumber.text")[/font][/color]
[color=#333333][font=Tahoma]StartActivity("Page" & a)[/font][/color]
[color=#333333][font=Tahoma]Activity.Finish[/font][/color]
[color=#333333][font=Tahoma]Else[/font][/color]
[color=#333333][font=Tahoma]ToastMessageShow("هیچ نتیجه ای یافت نشد", True)[/font][/color]
[color=#333333][font=Tahoma]End If[/font][/color]
[color=#333333][font=Tahoma]End Sub[/font][/color]

که برای ادامه اکتیویتی هست رو روی این حلقه case پیاده سازی کرد. که مثلا از آخرین عکس مشاهده شده بیاد

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

سلام شدنش میشه بستگی داره چطور بخاین درست کنید

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

سلام

چطور میتوان تعداد زیادی عکس در یه اکتیویتی قرار داد که با زدن دکمه ی باتن از یه عکس به عکس بعدی منتقل شه.

اصلا میشه؟؟؟ من که برای هر عکس باید یه ماژول ایجاد کنم!!!

ممنون میشم کمک کنید

خیلی راحت میشه عکسارو بریز تو پوشه فایل و اسماشونو به ترتیب اعداد بزار و با زدن باتن عدد رو +1 کن

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

خیلی راحت میشه عکسارو بریز تو پوشه فایل و اسماشونو به ترتیب اعداد بزار و با زدن باتن عدد رو +1 کن

بیشتر توضیح میدین؟؟

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

سلام شدنش میشه بستگی داره چطور بخاین درست کنید

مثلا من 40 تا عکس دارم در حال حاضر برای هر عکس یه module درست کردم.....

ولی میخوام این 40 تا عکس رو تو یه module قرار بدم و با زدن دکمه ی باتن به ترتیب از یه عکس به عکس های بعدی بره

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

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

http://answercenter.ir/thread748.html#post4095

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

بنده قبلا کدی به شکل زیر نوشتم میتونید ایده برداری کنید:

عکسارو از پوشه فایل میتونید اضافه کنید

فقط یک نمونس وگرنه بهترشو باید خودت بنویسی

[/b]Sub Globals	Dim bitmap1(5) As Bitmap
Private img As ImageView


End Sub


Sub Activity_Create(FirstTime As Boolean)


Activity.LoadLayout("img")
bitmap1=Array As Bitmap(LoadBitmap(File.DirAssets,"1.jpg"),LoadBitmap(File.DirAssets,"2.jpg"),LoadBitmap(File.DirAssets,"3.jpg"),LoadBitmap(File.DirAssets,"4.jpg"),LoadBitmap(File.DirAssets,"5.jpg"))
img.Bitmap=bitmap1(0)
End Sub


Sub Activity_Resume


End Sub


Sub Activity_Pause (UserClosed As Boolean)


End Sub






Sub next_btn_Click
Try
Select img.Bitmap
	Case bitmap1(0)
		img.Bitmap=bitmap1(1)
	Case bitmap1(1)
		img.Bitmap=bitmap1(2)
	Case bitmap1(2)
		img.Bitmap=bitmap1(3)
	Case bitmap1(3)
		img.Bitmap=bitmap1(4)
	Case bitmap1(4)
		img.Bitmap=bitmap1(0)
	End Select
Catch
Log("Err")
End Try
End Sub
Sub Activity_Touch (Action As Int, X As Float, Y As Float)
Select Action 
Case Activity.ACTION_MOVE
	Select img.Bitmap
	Case bitmap1(0)
		img.Bitmap=bitmap1(1)
	Case bitmap1(1)
		img.Bitmap=bitmap1(2)
	Case bitmap1(2)
		img.Bitmap=bitmap1(3)
	Case bitmap1(3)
		img.Bitmap=bitmap1(4)
	Case bitmap1(4)
		img.Bitmap=bitmap1(0)
	End Select
End Select

End Sub[b]

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

بعد چجوری میشه این کد ادامه

    If File.Exists(File.DirInternal, "PageNumber.text") Then    File.Delete(File.DirInternal, "PageNumber.text")
   End If
   File.WriteString(File.DirInternal, "PageNumber.text", "1")

Sub Button5_Click    If File.Exists(File.DirInternal, "PageNumber.text") Then
   Dim a As String
   a = File.ReadString(File.DirInternal, "PageNumber.text")
   StartActivity("Page" & a)
   Activity.Finish
   Else
   ToastMessageShow("هیچ نتیجه ای یافت نشد", True)
   End If
End Sub  

که برای ادامه اکتیویتی هست رو روی این حلقه case پیاده سازی کرد. که مثلا از آخرین عکس مشاهده شده بیاد

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

کد کامل برای ساخت گالری تصاویر

main.k1 اسم عکس

count شماره عکس


Sub Process_Globals
   'These global variables will be declared once when the application starts.
   'These variables can be accessed from all modules.

End Sub

Sub Globals
   'These global variables will be redeclared each time the activity is created.
   'These variables can only be accessed from this module.

   Dim imgback As ImageView
   Dim conts As Int
   Dim sv1 As ScrollView 
   Dim imgleft As ImageView
   Dim imgright As ImageView
   Dim imgshare As ImageView
Dim a1,a2,a3,a4,a5,a6,a7,a8,a9,a10,a11,a12,a13,a14,a15,a16,a17,a18,a19,a20,a21,a22,a23,a24,a25,a26,a27,a28,a29,a30,a31,a32,a33,a34,a35,a36 As Animation 
Dim imgghalb1,imgghalb2,imgghalb3,imgghalb4,imgghalb5,imgghalb6,imgghalb7,imgghalb8,imgghalb9,imgghalb10,imgghalb11,imgghalb12,imgghalb13,imgghalb14,imgghalb15,imgghalb16,imgghalb17,imgghalb18,imgghalb19,imgghalb20,imgghalb21,imgghalb22,imgghalb23,imgghalb24,imgghalb25,imgghalb26,imgghalb27,imgghalb28,imgghalb29,imgghalb30,imgghalb31,imgghalb32,imgghalb33,imgghalb34,imgghalb35,imgghalb36 As ImageView 


End Sub

Sub Activity_Create(FirstTime As Boolean)
   'Do not forget to load the layout file created with the visual designer. For example:




   Activity.LoadLayout("sv1")
sv1.Panel.LoadLayout ("albumshow")    
conts= 1
imgback.Bitmap = LoadBitmap(File.DirAssets ,Main.k1 &conts& ".jpg")
sv1.Panel.Height = imgshare.Height + imgshare.Top 
Activity.AddMenuItem("دیگر محصولات","mahsol")
End Sub
Sub mahsol_Click
StartActivity (ma)
End Sub

Sub Activity_Resume


End Sub

Sub Activity_Pause (UserClosed As Boolean)

End Sub



Sub imgleft_Click
conts= conts-1
If conts=0 Then
conts= conts+1
Else 
   imgback.Bitmap = LoadBitmap(File.DirAssets ,Main.k1 &conts& ".jpg")
End If     

End Sub


Sub imgright_Click

conts= conts+1
Dim s As Int 
s= 100
اینجا گفتیم تعداد عکسها چندتا هستش

If conts> s Then
conts= conts-1
Else 
   imgback.Bitmap = LoadBitmap(File.DirAssets ,Main.k1 &conts& ".jpg")
End If 

End Sub

Sub imgshare_Click
If File.Exists (File.DirRootExternal &"/DCIM/rozeshgh/" , Main.k1 &conts& ".jpg")= False Then 
File.Copy (File.DirAssets , Main.k1 &conts& ".jpg" , File.DirRootExternal &"/DCIM/rozeshgh/"  , Main.k1 &conts& ".jpg")
End If
Dim mm As MESShareLibrary
mm.sharebinary("file://" & File.DirRootExternal &"/DCIM/rozeshgh/"&Main.k1 &conts& ".jpg","image/jpg", "به اشتراک بگذاريد", "تصویر بکگراند")

End Sub

Sub imgsave_Click
File.Copy (File.DirAssets , Main.k1 &conts& ".jpg" , File.DirRootExternal&"/DCIM/rozeshgh/"  , Main.k1 &conts& ".jpg")
ToastMessageShow ("در گالری  ذخیره شد" ,True)
End Sub


Sub imgsetting_Click
File.OpenOutput (File.DirRootExternal , "ok.txt" , True)

If File.Exists (File.DirRootExternal &"/DCIM/rozeshgh/" , Main.k1 &conts& ".jpg")= False Then 
File.Copy (File.DirAssets , Main.k1 &conts& ".jpg" , File.DirRootExternal&"/DCIM/rozeshgh/"  , Main.k1 &conts& ".jpg")
End If 

   Dim i As Intent
   i.Initialize(i.ACTION_VIEW, "file://" & File.Combine(File.DirRootExternal&"/DCIM/rozeshgh/" , Main.k1 &conts& ".jpg"))
   i.SetType("image/*")
   StartActivity(i)


End Sub


</dcim>

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

در کد بالا یادم رفت بگم که عکسها در پوشه rozeshgh تو DCIM ذخیره می شه که باید اولش بگیم این فولدر رو بسازه تا موقع ذخیره به مشکل بر نخورید

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

کدی که دوستمون نوشتن خوبه

فقط بجای تعریف متغیر های هم نوع نیازی نیست این همه اسم متغییر استفاده کرد و یک حافظه تخصیص داد میتونستین یک آرایه ایستا تعریف کنید واسه :

Dim a(36) As Animation

Dim imgghalb(36) As ImageView

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

بایگانی شده

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

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

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