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

اطلاع از باز بودن کیبرد


amirsafari

سوال

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

و این که اگر باز بود چطور میشه ارتفاعش رو به دست اورد

یعنی بدونم ارتفاع کیبرد چقدره

مممون از شما

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

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

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

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

http://s7.picofile.com/file/8236364876/IME.zip.html

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

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

Dim ref As Reflector

ساب زیر رو‌ایجاد کنید :
 

Sub HardwareKeyboardPresent As Boolean

ref.Target = ref.GetContext

ref.Target = ref.RunMethod("getResources")

ref.Target = ref.RunMethod("getConfiguration")

Dim keyboard As Int = ref.GetField("keyboard")

Return keyboard <> 1 'KEYBOARD_NOKEYS - return true if keyboard, else return false

End Sub

حالا اینجوری تست کنید
 

If KeyboardPresent = False Then

'کیبورد مخفیه

Else If KeyboardPresent = True Then

'کیبورد بازه

End If

و برای گرفتن عرض کیبورد کتابخانه IME رو تیک بزنید و:

dim im as IME

فعال سازی:

im.Initialize("im")
im.AddHeightChangedEvent

و ایجاد رویداد زیر:

Sub im_HeightChanged (NewHeight As Int, OldHeight As Int)
	ToastMessageShow(NewHeight,False)
End Sub

اگه میخواین ادیت تکست رو ببرید بالای کیبورد بگید تا راهنمایی کنم چون یکم بحثش جداست...

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

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

Dim ref As Reflector

ساب زیر رو‌ایجاد کنید :

 

Sub HardwareKeyboardPresent As Boolean

ref.Target = ref.GetContext

ref.Target = ref.RunMethod("getResources")

ref.Target = ref.RunMethod("getConfiguration")

Dim keyboard As Int = ref.GetField("keyboard")

Return keyboard <> 1 'KEYBOARD_NOKEYS - return true if keyboard, else return false

End Sub

حالا اینجوری تست کنید

 

If KeyboardPresent = False Then

'کیبورد مخفیه

Else If KeyboardPresent = True Then

'کیبورد بازه

End If

و برای گرفتن عرض کیبورد کتابخانه IME رو تیک بزنید و:

dim im as IME

فعال سازی:

im.Initialize("im")
im.AddHeightChangedEvent

و ایجاد رویداد زیر:

Sub im_HeightChanged (NewHeight As Int, OldHeight As Int)
	ToastMessageShow(NewHeight,False)
End Sub

اگه میخواین ادیت تکست رو ببرید بالای کیبورد بگید تا راهنمایی کنم چون یکم بحثش جداست...

وااااقعا مچکرم بابت تموم این راهنمایی هاا

دقیقا میخوام edittext رو ببرم بالا

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

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

وااااقعا مچکرم بابت تموم این راهنمایی هاا

دقیقا میخوام edittext رو ببرم بالا

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

 

تو سورس من

باتن میبره بالا شما بیا تغییرش بده

 

البته با اجازه آقا پژمان ♥

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

وااااقعا مچکرم بابت تموم این راهنمایی هاا

دقیقا میخوام edittext رو ببرم بالا

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

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

	SetActivityAttribute(myactivity, android:windowSoftInputMode, adjustResize|stateHidden)

جای myactivity نام اکتیویتی تون رو بنویسید

 

تعریف:

	Dim ky As IME

فعال سازی:

ky.Initialize("ky")
ky.AddHandleActionEvent(EditText1)
ky.AddHeightChangedEvent

و اضافه کردن رویداد زیر:

Sub ky_HeightChanged (NewHeight As Int, OldHeight As Int)
	 EditText1.Top = NewHeight - EditText1.Height
End Sub
لینک ارسال
به اشتراک گذاری در سایت های دیگر

 

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

	SetActivityAttribute(myactivity, android:windowSoftInputMode, adjustResize|stateHidden)

جای myactivity نام اکتیویتی تون رو بنویسید

 

تعریف:

	Dim ky As IME

فعال سازی:

ky.Initialize("ky")
ky.AddHandleActionEvent(EditText1)
ky.AddHeightChangedEvent

و اضافه کردن رویداد زیر:

Sub ky_HeightChanged (NewHeight As Int, OldHeight As Int)
	 EditText1.Top = NewHeight - EditText1.Height
End Sub

ممنون ولی با تغییر دادن top در edittext اون مقادیر بالایی که توش ادد شده میره خارج از صفحه

چطور میتونم ارتفاعو عوض منم

توی برنامه ی من یه edittext به صورت تمام صفحس

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

ممنون ولی با تغییر دادن top در edittext اون مقادیر بالایی که توش ادد شده میره خارج از صفحه

چطور میتونم ارتفاعو عوض منم

توی برنامه ی من یه edittext به صورت تمام صفحس

جای EditText1.Top بنویسید EditText1.Height

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

جای EditText1.Top بنویسید EditText1.Height

بله این کد رو بلدم

اینرو زدم

 

	EditText1.Height=EditText1.Height-NewHeight

این نتیجشه که درست نیست

key.png

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

بله این کد رو بلدم

اینرو زدم

 

	EditText1.Height=EditText1.Height-NewHeight

این نتیجشه که درست نیست

key.png

به این صورت بنویسید درست میشه. ♥

Sub ky_HeightChanged (NewHeight As Int, OldHeight As Int)
	 edittext1.Height = NewHeight
End Sub
لینک ارسال
به اشتراک گذاری در سایت های دیگر

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

Dim ref As Reflector

ساب زیر رو‌ایجاد کنید :

 

Sub HardwareKeyboardPresent As Boolean

ref.Target = ref.GetContext

ref.Target = ref.RunMethod("getResources")

ref.Target = ref.RunMethod("getConfiguration")

Dim keyboard As Int = ref.GetField("keyboard")

Return keyboard <> 1 'KEYBOARD_NOKEYS - return true if keyboard, else return false

End Sub

حالا اینجوری تست کنید

 

If KeyboardPresent = False Then

'کیبورد مخفیه

Else If KeyboardPresent = True Then

'کیبورد بازه

End If

و برای گرفتن عرض کیبورد کتابخانه IME رو تیک بزنید و:

dim im as IME

فعال سازی:

im.Initialize("im")
im.AddHeightChangedEvent

و ایجاد رویداد زیر:

Sub im_HeightChanged (NewHeight As Int, OldHeight As Int)
	ToastMessageShow(NewHeight,False)
End Sub

اگه میخواین ادیت تکست رو ببرید بالای کیبورد بگید تا راهنمایی کنم چون یکم بحثش جداست...

 

سلام به همه دوستان

 

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

 

ممنون از همه دوستان

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

سلام به همه دوستان

 

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

 

ممنون از همه دوستان

شما میخوای هر زمان باش شد با خبر بشی؟؟؟؟

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

سلام دوستان من میخوام هر زمان که کیبورد بسته شد بصورت خودکار به من توست مسیج بده ینی یه حلقه ای که خودش چک کنه کیبورد ادیت تکس بازه یا بسته چیکار کنم؟؟؟

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

 

به این صورت بنویسید درست میشه. ♥

Sub ky_HeightChanged (NewHeight As Int, OldHeight As Int)
	 edittext1.Height = NewHeight
End Sub

کار نمیکنه 

:sorry:  :sorry:  :sorry:

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

کار نمیکنه 

:sorry:  :sorry:  :sorry:

یعنی رو هر گوشی ای یه مقداری داره این newheight

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

بایگانی شده

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

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

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