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

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

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

من از اسلایدینگ منوی توی اکتیویتی main ام استفاده کردم و می خوام توی همه ی اکتیویتی هام ازش استفاده کنم ولی چطوری ؟

آیا باید تبدیلش کنم به یه تابع ؟

  protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.root);
LayoutInflater inflater = (LayoutInflater) getSystemService(Context.LAYOUT_INFLATER_SERVICE);
View actionBarView = inflater.inflate(R.layout.action_bar, null);

ActionBar actionBar = getSupportActionBar();
actionBar.setNavigationMode(ActionBar.NAVIGATION_MODE_STANDARD);
actionBar.setDisplayOptions(ActionBar.DISPLAY_SHOW_CUSTOM);
actionBar.setCustomView(actionBarView, new ActionBar.LayoutParams(ViewGroup.LayoutParams.MATCH_PARENT, ViewGroup.LayoutParams.MATCH_PARENT));
final DrawerLayout drawerLayout = (DrawerLayout) findViewById(R.id.drawerLayout);
ImageView txtMenu = (ImageView) actionBarView.findViewById(R.id.imgMenu);
txtMenu.setOnClickListener(new OnClickListener() {

@Override
public void onClick(View arg0) {
// TODO Auto-generated method stub
if (drawerLayout.isDrawerOpen(Gravity.RIGHT)) {
drawerLayout.closeDrawer(Gravity.RIGHT);
} else {
drawerLayout.openDrawer(Gravity.RIGHT);
}
}
});

نظرات

amirhossein1376 11 سال پیش
میتونید از ActivityEnhanced استفاده کنین
mosafer 10 سال پیش
سلام شما که این کارو انجام دادین میشه بگین چطور لیست ویویی که برای منوتون در نظر گرفتین را کجا تعریف کردین و عملیاتی که براش تعرف کردین را کجا نوشتین..؟؟ من منومو ایجاد کردم ولی نمیدونم لیست ویومو کجا باید تعرف کنم!!!!!
MeY3am 10 سال پیش
همینطور که دوستان گفتن ActivityEnhanced بهترین گزینه روی میزه و اکتیویتی ها رو به همین ActivityEnhanced اکستندز کنید، البته من خودم به شخصه کلاس G رو بیشتر میپسندم :)
MeY3am 10 سال پیش
آخ آخ تاپیک قدیمیه........ تاریخشو ندیدم :|
ابراهیم 10 سال پیش
تو سایت خیلی ها این مشکل را داشتند اگر ممکن دوستان یک بار کامل توضیح دهند که به چه صورت باید فایل های xml را تعریف کرد در ActivityEnhanced و چه کدی باید در سایر اکتیویتی ها زد تا بتوان هم از ToolBar و هم از NavigationDrawer در همه ی انها استفاده کرد. ممنون
amin_313 10 سال پیش
دوستان من هم شبیه همین مشکل آقا ابراهیم رو دارم ، مشکل اینه که کد رو در ActivityEnhanced چجوری باید نوشت؟ و اینکه لایه ها رو برای دیگر اکتیوتی ها چجوری باید تعریفشون کرد؟ راه هایی رو رفتم ولی جواب ندادن . امیدوارم کسی لطف کنه و یه توضیح کامل بده

پاسخ‌ها 1

mars120 10 سال پیش

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

 public void slide() {
        final DrawerLayout drawerlayout = (DrawerLayout) findViewById(R.id.drawerlayout);

        final Button btnMenu = (Button) findViewById(R.id.btnMenu);
        btnMenu.setOnClickListener(new OnClickListener() {

            @Override
            public void onClick(View arg0) {
                if (drawerlayout.isDrawerOpen(Gravity.RIGHT)) {
                    drawerlayout.closeDrawer(Gravity.RIGHT);
                } else {
                    drawerlayout.openDrawer(Gravity.RIGHT);
                }
                Animation anim = AnimationUtils.loadAnimation(getApplicationContext(), R.anim.zoom_in);
                btnMenu.startAnimation(anim);
            }

        });
    }

نظرات

amin_313 10 سال پیش
لایه های XML چی ؟ یعنی لایه های مخصوص اسلایدینگ منو رو هم توی اکتیوتی های مورد نظر اضافه کردین؟
mars120 10 سال پیش
اره برای هر اکتیویتی یه لایه روت که شامل لایه xml اکتیویتی و لایه sliding menu هست بسازید و تو اکتیویتی مورد نظر ست کنید

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