پیشنهاد تدوین استفاده از Navigation Drawer ، Action Bar
بسیار سپاسگزارم بابت این مجموعه آموزشی فوق العاده ، استاد میخواستم خواهش کنم اگر امکانش هست در رابطه با تکنیک های طراحی چنتا آموز ش تو سایت قرار بدید مثل استفاده از اکشن بار و امکاناتی که میشه در اون جا داد و یا استفاده از Navigation Drawer در طراحی UI
همونطور که میدونید UI بسیاری از نرم افزار های مطرح اندرویدی بر پایه Navigation Drawer طراحی شده
پیشاپیش سپاسگزارم
به امید دیدار مجدد
با سلام
با اجازه استاد آقاجانی عزیز...
احمد جان برای استفاده از Navigation Drawer راه های زیادی هست و جدیدا به کتابخانه پیش فرض اندروید هم اضافه شده ولی من به شما توصیه می کنم از کتابخونه زیر استفاده کنید که هم پیاده سازیش خیلی سادست و هم روی اندروید ورژن 2.2 هم به راحتی قابل اعمال و استفادست و هم تنظیمات زیادی داره:
https://github.com/jfeinstein10/SlidingMenu
همچنین اگه بلد نیستی کتابخانه اضافه کنی از لینک زیر کمک بگیر:
http://stackoverflow.com/a/17517367
برای استفاده از اسلایدینگ منو ها توی پروژتم کافیه در ابتدا دو تا layout به پروژت اضافه کنی یکی به عنوان لایه اصلی و یکی هم به عنوان لایه ای که قراره به صورت اسلاید اضافه بشه. برای مثال دو تا لایه با نام های:
main_layout
slide_layout
همچنین در پروژه نمونه کتابخانه بالا تمام فولدر های با پسوند drawable و values با تمام محتویات داخلش کپی کن توی پوشه res پروژت و یه رفرش کن پروژت رو. خب حالا در فایل جاوا برنامه که در اینجا برای مثال با نام Main.java مشخص می کنیم خطوط زیر رو قرار می دیم:
package ahmad.uncocoder.test;
import android.app.Activity;
import android.os.Bundle;
import android.view.View;
import android.widget.ImageView;
import com.jeremyfeinstein.slidingmenu.lib.SlidingMenu;
public class Main extends Activity {
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main_layout);
final SlidingMenu menu = new SlidingMenu(this);
menu.setMode(SlidingMenu.RIGHT);
menu.setTouchModeAbove(SlidingMenu.TOUCHMODE_FULLSCREEN);
menu.setShadowWidthRes(R.dimen.shadow_width);
menu.setShadowDrawable(R.drawable.shadowright);
menu.setBehindOffsetRes(R.dimen.slidingmenu_offset);
menu.setFadeDegree(0.35f);
menu.attachToActivity(this, SlidingMenu.SLIDING_CONTENT);
menu.setMenu(R.layout.slide_layout);
ImageView iconfehrest = (ImageView) findViewById(R.id.iconfehrest);
iconfehrest.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
menu.toggle();
}
});
}
}
خب یه توضیح کوتاه درباره خطوط فایل جاوامون:
- خط اول که نام پکیجمونه که باید با نام پکیج برنامتون جایگزین بشه
- سایر خطوط تا خط 6 که عادیه و مسلما قبلا باهاش برخورد داشتید
- توی خط 7 اسلایدینگ منو رو ایمپورت کردیم
- در خط 15 لایوت اصلیمون رو انتخاب کردیم
- در خط 16 یک مدل از اسلایدینگ منو ساختیم (رجوع شود به آموزش های شی گرائی استاد آقاجانی)
- در خط 17 تعیین کردیم که اسلایدینگ منو ما از راست باشد
- خطوط 18 تا 23 تنظیمات مربوط به سایه ، افکت و سایر موارد اسلایدینگ منو می باشد که از به پوشه هایی که از پروژه نمونه کتابخانه به پروژمون اضافه کردیم آدرس دهی می شوند می تونید با تغییر مقادیر فایل dimen داخل پوَه values تغییرشون بدید! توصیه می کنم از همون پیش فرض استفاده کنید که بسیار زیبا هستند و اصولی
- در خط 24 ما لایه اسلاید خودمون رو معرفی کردیم
- من توی main_layout یک آیکون اضافه کردم که با فشردن اون اسلایدینگ منو باز شود که در خط 25 معرفیش کردم به فایل جاوام
- وخب در خطوط بعدی متد کلیک لیستنر رو فراخوانی کردم برای این ایکن و در خط 32 گفتم که با لمس این ایکن منو باز شود
- در ضمن به طور پیش فرض هم با لمس صفحه از راست به چپ اسلایدینگ منو باز می شود
امیدوارم مفید باشه
البته اگه استاد آقاجانی صلاح نمی دونن که این آموزش فعلا قرار بگیره ممنون می شم این نظر منتشر نشه
با تشکر از زحمات جناب آقاجانی
پاسخگویی و مشاهده پاسخ های این سوال تنها برای اعضای ویژه سایت امکان پذیر است .
چنانچه تمایل دارید به همه بخش ها دسترسی داشته باشید میتوانید از این بخش لایسنس این آموزش را خریداری نمایید .