PDA

View Full Version : مشکل در Full Screen کردن برنامه



slr560
یک شنبه 05 مرداد 1393, 21:37 عصر
سلام دوستان
من توی برنامم برای تغییر رنگ Action Bar از متد getActionBar استفاده کرد و تمامی اکتیویتی های برنامم رو تغییر رنگ دادم
وقتی از
android:theme="@android:style/Theme.NoTitleBar.Fullscreen"
استفاده میکنم برنامه کرش میکنه و به متد getActionBar گیر میده و میگه مزاحمه
چیکار کنم که هم بتونم فول اسکرین کنم و هم بتونم رنگ اکشن بار رو تغییر بدم؟

slr560
یک شنبه 05 مرداد 1393, 22:55 عصر
کسی نظری نداره؟

NeoFighT
دوشنبه 06 مرداد 1393, 01:07 صبح
شما وقتی اکتیویتی رو Full Screen میکنی دیگه شیء ActionBar وجود نداره که از متد GetActionBar استفاده میکنی.
اگه Logcat هم نگاه کنی میبینی که خطای Null Pointer Exception داده.:چشمک:

slr560
دوشنبه 06 مرداد 1393, 01:15 صبح
شما وقتی اکتیویتی رو Full Screen میکنی دیگه شیء ActionBar وجود نداره که از متد GetActionBar استفاده میکنی.
اگه Logcat هم نگاه کنی میبینی که خطای Null Pointer Exception داده.:چشمک:

مرسی دوست من
پس این نرم افزاریی که هم فول اسکرین هستن و هم اکشن بارچجوریه؟
مث مثلا بازار

NeoFighT
دوشنبه 06 مرداد 1393, 02:37 صبح
این کد رو امتحان کن:

getWindow().setFlags(WindowManager.LayoutParams.FL AG_FULLSCREEN, WindowManager.LayoutParams.FLAG_FULLSCREEN);

البته قبلش اون یک خط که تو manifest هست رو پاک کن.

android:theme="@android:style/Theme.NoTitleBar.Fullscreen"

slr560
دوشنبه 06 مرداد 1393, 02:51 صبح
این کد رو امتحان کن:

getWindow().setFlags(WindowManager.LayoutParams.FL AG_FULLSCREEN, WindowManager.LayoutParams.FLAG_FULLSCREEN);

البته قبلش اون یک خط که تو manifest هست رو پاک کن.

android:theme="@android:style/Theme.NoTitleBar.Fullscreen"


با کد بالا فول اسکرین شد . مرسی
ولی یه مشکل پیش اومد . توی صفحه هایی که اسکرول دارم ٬ اسکرول از کار میوفته . نظری نداری؟

slr560
دوشنبه 06 مرداد 1393, 03:28 صبح
یه بررسی کردم دیدیم اسکرول کار میکنه. مشکل جای دیگس
مثلا من تو صفحه لوگینم ۲ تا EditText دارم و موقعی که کیبورد میاد بالا دیگه نمیشه تا اون دکمه پایین اسکرول کرد و حداکثر تا ادیت تکست اولی میاد پایین

omid_cr77
دوشنبه 06 مرداد 1393, 03:54 صبح
دوست عزیز NoTitleBar رو پاک کن مشکلت حل میشه.NoTitleBar یعنی Actionbar نباشه در صفحه xml

slr560
دوشنبه 06 مرداد 1393, 03:57 صبح
دوست عزیز NoTitleBar رو پاک کن مشکلت حل میشه.NoTitleBar یعنی Actionbar نباشه در صفحه xml
نه دوست عزیز
شما پستای بالا رو نخوندین انگار. یا متوجه نشدید
از flag استفاده کردم. اصن از مانیفست استفاده نشده. :چشمک:
اصلا از noTitleBar استفاده نشده

omid_cr77
دوشنبه 06 مرداد 1393, 03:57 صبح
android:theme="@android:style/ThemeFullscreen"
به اینصورت درست میشه

slr560
دوشنبه 06 مرداد 1393, 04:03 صبح
android:theme="@android:style/ThemeFullscreen"
به اینصورت درست میشه

همچین چیزی توی Theme اندروید نیس اینجوری که دیدم
fullScreen یا با noTitleBar هست یا با noActionBar

mojniknam
یک شنبه 06 مهر 1393, 10:32 صبح
این کد رو امتحان کن:

getWindow().setFlags(WindowManager.LayoutParams.FL AG_FULLSCREEN, WindowManager.LayoutParams.FLAG_FULLSCREEN);

البته قبلش اون یک خط که تو manifest هست رو پاک کن.

android:theme="@android:style/Theme.NoTitleBar.Fullscreen"

شخصی سازی action bar با این روش ساخته شده امکانپذیر هست؟
اگه بله: روشش مثل شخصی سازی action bar معمولی هست؟

harani
یک شنبه 06 مهر 1393, 10:40 صبح
دوست گرامی خودتو درگیر این اکشن بار نکن یه Linear layout بساز تو کامپونت ها بچین اکشن بار هم همینه فقط یسری چیزای آماده داره .
( برای اینکه مجبود نشی تو هر صفحه ای این linear layout رو بسازی یه activty با ماهیت master page بساز که تو لایوتش اینو داشته باشه . بعد همه ی اکتیوتیاتو از این ارث بری کن لایوتایی activity های دیگتم inflate کن به اون .)

mojniknam
یک شنبه 06 مهر 1393, 11:00 صبح
دوست گرامی خودتو درگیر این اکشن بار نکن یه Linear layout بساز تو کامپونت ها بچین اکشن بار هم همینه فقط یسری چیزای آماده داره .
( برای اینکه مجبود نشی تو هر صفحه ای این linear layout رو بسازی یه activty با ماهیت master page بساز که تو لایوتش اینو داشته باشه . بعد همه ی اکتیوتیاتو از این ارث بری کن لایوتایی activity های دیگتم inflate کن به اون .)
دوست عزیز میتونی یه نمونه کد بذاری؟

harani
یک شنبه 06 مهر 1393, 11:11 صبح
ساخت master page (http://jnastase.alner.net/archive/2011/01/08/ldquomaster-pagesrdquo-in-android.aspx)

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