PDA

View Full Version : جلوگیری از تغییر آیجکت ها هنگام چرخاندن گوشی



NeoFighT
چهارشنبه 24 دی 1393, 17:07 عصر
سلام.
من یک View دارم که از ImageView ارث بری کرده و کاربر روی اون نقاشی میکنه.
مشکل اینجاست که وقتی گوشی میچرخه هرچی کاربر رسم کرده از بین میره و من نمیخوام این اتفاق بیوفته
لطفا کمک کنید.

reza ghorbani
چهارشنبه 24 دی 1393, 18:03 عصر
تو فایل manifest باید این دستورو وارد کنی:
android:screenOrientation="portrait"
با این دستور دیگه همه چی تو حالت portrait می مونه و اگه کاربر گوشی رو چرخوند چیزی از دست نمی ره....

NeoFighT
چهارشنبه 24 دی 1393, 19:36 عصر
تو فایل manifest باید این دستورو وارد کنی:
android:screenOrientation="portrait"
با این دستور دیگه همه چی تو حالت portrait می مونه و اگه کاربر گوشی رو چرخوند چیزی از دست نمی ره....
اینو میدونم آخه من میخوام کاربر بتونه بچرخونه

NeoFighT
پنج شنبه 25 دی 1393, 09:54 صبح
up........

reza ghorbani
پنج شنبه 25 دی 1393, 10:32 صبح
اگه می خوای کاربر بتونه بچرخونه و آبجکتاتهم نغییری نکنه باید یه لایوت landscape واسه اون اکتیویتی خاصت بنویسی. یه پوشه با نام layout-land تو پوشه res تعریف کن بعد واسه حالت landscapet یه فایل xml جداگانه تعریف کن. هروقت که گوشی رو چرخوندی اون فایل اجرا میشه...

esideli
پنج شنبه 25 دی 1393, 11:36 صبح
سلام
شما این کد رو به تگ اکتیویتی مورد نظر در فایل مانیفست اضافه کن. هم صفحه می چرخه و هم صفحه رفرش نمی شه :

android:configChanges="orientation|keyboardHidden"

NeoFighT
جمعه 26 دی 1393, 02:54 صبح
معذرت میخوام ولی شما منظورم رو متوجه نشدید.
اگه امکانش هست این پروژه (http://s5.picofile.com/file/8164107400/Drawing.rar.html) رو دانلود کنید و Run کنید.
یک View داریم که امکان نقاشی کردن رو داره و یک طرح بکشید روش و گوشی رو بچرخونید،وقتی گوشی رو میچرخونید طرحی که کشیدین پاک میشه،من میخوام وقتی گوشی میچرخه View طرح قبلی رو نگه داره.

esideli
جمعه 26 دی 1393, 10:52 صبح
معذرت میخوام ولی شما منظورم رو متوجه نشدید.
اگه امکانش هست این پروژه (http://s5.picofile.com/file/8164107400/Drawing.rar.html) رو دانلود کنید و Run کنید.
یک View داریم که امکان نقاشی کردن رو داره و یک طرح بکشید روش و گوشی رو بچرخونید،وقتی گوشی رو میچرخونید طرحی که کشیدین پاک میشه،من میخوام وقتی گوشی میچرخه View طرح قبلی رو نگه داره.

پروژت رو دیدم. این کد رو به تگ اکتیویتی مورد نظر در فایل مانیفست اضافه کن مشکلت حل می شه. چون تارگت، api بالاتر از 13 هست باید از کد زیر استفاده کنی و گرنه از کد قبلی که برات گذاشتم :


android:configChanges="keyboard|keyboardHidden|orientation|screenLayout|u iMode|screenSize|smallestScreenSize">

NeoFighT
جمعه 26 دی 1393, 11:47 صبح
پروژت رو دیدم. این کد رو به تگ اکتیویتی مورد نظر در فایل مانیفست اضافه کن مشکلت حل می شه. چون تارگت، api بالاتر از 13 هست باید از کد زیر استفاده کنی و گرنه از کد قبلی که برات گذاشتم :


android:configChanges="keyboard|keyboardHidden|orientation|screenLayout|u iMode|screenSize|smallestScreenSize">



خیلی ممنون درست شد،در ضمن کد قبلی برای 8 گزاشتم کار نکرد.
فقط اگه زحمتی نیست یه توضیحی برای کدی که گزاشتی میدی؟!؟
برام نا مفهومه

esideli
جمعه 26 دی 1393, 12:48 عصر
خیلی ممنون درست شد،در ضمن کد قبلی برای 8 گزاشتم کار نکرد.
فقط اگه زحمتی نیست یه توضیحی برای کدی که گزاشتی میدی؟!؟
برام نا مفهومه

اگه android:targetSdkVersion کمتر از 13 باشه باید از کد اول که گذاشتم استفاده کنی و اگه 13 یا بالاتر باشه از کد دومی که گذاشتم. در واقع کد دومی رو آندروید زیر 13 نمی شناسه و برای آندروید 13 به بالا تنظیم شده.

NeoFighT
جمعه 26 دی 1393, 13:43 عصر
اگه android:targetSdkVersion کمتر از 13 باشه باید از کد اول که گذاشتم استفاده کنی و اگه 13 یا بالاتر باشه از کد دومی که گذاشتم. در واقع کد دومی رو آندروید زیر 13 نمی شناسه و برای آندروید 13 به بالا تنظیم شده.
مرسی،
اگه امکانش هست یه توضیح در مورد کد بدین(همین کد دومی)

android:configChanges="keyboard|keyboardHidden|ori entation|screenLayout|uiMode|screenSize|smallestSc reenSize">

esideli
جمعه 26 دی 1393, 13:55 عصر
مرسی،
اگه امکانش هست یه توضیح در مورد کد بدین(همین کد دومی)

android:configChanges="keyboard|keyboardHidden|ori entation|screenLayout|uiMode|screenSize|smallestSc reenSize">


برای توضیح بیشتر باید به رفرنس خود آندروید مراجعه کنید. فقط می تونم بگم توی این کد مشخص می کنیم با چرخش صفحه، صفحه رفرش نشه.