بروز خطا
   [message]
اشتراک در سوال
رای ها
[dataList]
پرسش و پاسخ

Solved_قفل شدن UI برنامه در استفاده از SlidingMenu (دراندروید 5)

مدیریت گفتگو
Criss 11 سال پیش
آخرین تغییر: 10 سال پیش

سلام دوستان

من کتابخانه هایی که استاد در اموزش 21 توضیح دادند رو استفاده کردم < Manu بخوبی Slide میشه <

اما بعد از پایان Slide شدن Menu (هم در باز شدن و هم در بسته شدن SlidingMenu) تمام کنترل های روی Main اصلی قفل میشه <

و جالبه که وقتی Menu رو Slide میکنم < باید دستم رو روی Menu نگه دارم تا کاملا Slide نشه ، حالا در این حین < همه چیز در  UI اصلی بخوبی کار میکنه <

 

من از افکت های Animation SlideIn استفاده میکنم < که قفل میشه < Button ها و ScrollView ها هم قفل میشه < تبلیغات عدد هم قفل میشه < و فقط OptionsMenu کار میکنه <

 

روی امولاتور BlueStacks و همچنین Genymotion بخوبی کار میکنه <

اما روی گوشی با اندروید 5 قفل میشه

نظرات

Criss 11 سال پیش
چطور میشه با برنامه نویسی با SlideMenu بکیم تا یه مقداری Slide بشه ؟

پاسخ‌ها 3

Criss 11 سال پیش

سلان دوستان < کسی میدونه

تا زمانی که روی Screen برنامه تاچ نشده باشه <Sliding Menu در چه حالی قرار داره ؟ یعنی کدوم یکی از متد های زیر هنوز اجرا نشدن ؟

        SlidingMenu menu = new SlidingMenu(this);
menu.setMode(SlidingMenu.LEFT);
menu.setBehindOffset(100);
menu.setTouchModeAbove(SlidingMenu.TOUCHMODE_FULLSCREEN);
menu.setFadeDegree(0.35f);
menu.attachToActivity(ActivityStartUp.this, SlidingMenu.SLIDING_CONTENT);
View view = G.layoutInflater.inflate(R.layout.menu, null);
menu.setMenu(view);

بعد از اینکه Menu تا اخر Slide شد؟ SlidingMenu در چه وضعیتی قرار میگیره ؟ کدوم متد های بالا اجرا می شوند ؟

زمانی که دست ما هنوز روی Screen هست < و کاملا Slide نشده SlidingMenu در چه وضعیتی قرار داره ؟ و کدوم متد ها اجر میشوند ؟

چرا SlidingMenu روی اندرودید 5 مشکل داره ؟

 

نظرات

Criss 11 سال پیش
دوستان کسی اندروید 5 داره تست کنه؟
Criss 11 سال پیش
متاسفانه روی جنی موشن اندروید 5 نصب نمیشه < اگر ممکنه از اینجا دانلود و تست کنید < لینک همون پروژه استاد هست < فقط یک ScrollView اضاف شده < که نشون میده بعد از اسلاید کردن < دیگه اسکرول صورت نمیره
Criss 11 سال پیش
البته این رو هم بگم که اسکرول انجام میشه < اما دیده نمیشه < کافیه اسکرول کنید < و بعد اسلایدمنو رو حرکت بدید < میبینید که انجام شده < یا اگر Button داشت باشید < کلیک شدن رو جواب میده < اما گرافیک بخوبی روی نمایش داده نمیشه
محمد 11 سال پیش
لینک مشکل داره
محمد 11 سال پیش
شاید ورژن جنی موشن شما پایینه. من روی ورژن 2.4.0 میتونم اندروید 5 نصب کنم
محمد 11 سال پیش
من روی اندروید 5.0.2 تست کردم ولی slidingmenu نداره. فقط 3تا تب داره. پیشنهاد میکنم بجای استفاده از لایبرری خارجی، از slidingPaneLayout استفاده کنید که با لایبرری ساپورت ورژن 4 در دسترسه. نحوه ساختش هم تقریبا مثل drawerLayout که محمدحسین آموزش داده هست.
Criss 11 سال پیش
برای اندروید دقیقا مشکل از ورژن جنی موشن بود که حل شد . ولی من MySlidingMenuLibraryTest.apk رو هم جزء فایل ها آپلود کردم < اگه تست کنید SlidingMenu داره !!
محمد 11 سال پیش
پروژه رو نتونستم ایمپورت کنم چون لایبرری رو نداشتم. فایل apk رو نصب کردم. slidingMenu کار نمیکنه. فقط تب داره
محمد 11 سال پیش
slidingPaneLayout یه متد داره که توی اون بهش میتونید بگید هنگام باز یا بسته شدن چه کاری بکنه. وقتی کامل باز شد چکار کنه. و وقتی کامل بسته شد
pt29 11 سال پیش
من هم این مشکل رو دارم که روی گوشیم که اندروید 5 مشکل داره
pt29 11 سال پیش
من هم این مشکل رو دارم که روی گوشیم که اندروید 5 مشکل داره و ui قفل میشه
Criss 10 سال پیش

برای حل این مشکل : در AndroidManifest در قسمت Application این رو اضاف کنید <

 android:hardwareAccelerated="true"

نظرات

HoCoder 10 سال پیش

من از این library تو برنامم استفاده کردم و کمی با کد ور رفتم تا 70% از عرض اکتیویتی باز میشه که دست خودتونه میتوند تغییرش بدید این هم کدم

 menu = new SlidingMenu( this );
menu.setMode( SlidingMenu.RIGHT_OF );
menu.setTouchModeAbove( SlidingMenu.TOUCHMODE_MARGIN );
menu.setBehindOffset( getPixelWidth() );
menu.setFadeDegree( 0.70f );
menu.attachToActivity( this , SlidingMenu.SLIDING_CONTENT );

View view = G.inflater.inflate( R.layout.menu , null );
menu.setMenu( view );

شما میتونید مقدار باز شدن slide رو در اینجا عوض کنید، میتونید عدد 30 رو تغییر بدید مثلا برای 60% صفحه عدد 40 رو بنویسید

  private Integer getPixelWidth() {

DisplayMetrics displayMetrics = G.context.getResources().getDisplayMetrics();
int dpWidth = displayMetrics.widthPixels;
dpWidth = ( dpWidth * 30 ) / 100;
Log.i( G.LOG_TAG , "Pixel Width: " + dpWidth );
return (int) dpWidth;
}

نظرات


پاسخگویی و مشاهده پاسخ های این سوال تنها برای اعضای ویژه سایت امکان پذیر است .
چنانچه تمایل دارید به همه بخش ها دسترسی داشته باشید میتوانید از این بخش لایسنس این آموزش را خریداری نمایید .