اکشن بار دست ساز و خانگی خود را بسازید + تب (آموزش)
آموزش ویدئویی مخصوص ساخت ActionBar بهمراه Sliding Mneu را از لینک زیر دریافت کنید .
بازهم با شما هستید از سری مجموعه کد های دست ساز و خانگی ;)
خوب تو این سری از آموزش میخوایم نحوه ساخت اکشن بار بدون استفاده از لایبری خارجی و قابل اجرا بر روی همه ورژن های اندروید رو یاد بدیم .
ابتدا لایبری ساپورت ورژن 7 یا همون appcompat رو به پروژه اضافی کنید تا بتونیم اکشن بارمون رو در همه Api ها استفاده کنیم .
خوب نوبت به ساخت اکشن بار میرسه .
در حال حاضر من فرض میکنم میخوام یه اکشن بار با ویو دست ساز خودم رو داشته باشم .
در همین تایپک آموزش ساخت اکشن بار های مختلف و امکانات جانبی رو میزاریم.
ابتدا یک لایه جدید در ریسورس ها ایجاد کنید و اسمش رو فرضا action_bar بزارید.
حالا اکشن باری که دوست دارید پیاده کنید رو توی این لایه بسازید (منظور UI اکشن بار هست).
میریم سراغ کلاس اکتیویتی و کد نویسی .
ابتدا کد های زیر رو وارد کنید تا بریم سراغ تعریف عملکرد هر کد :
توجه داشته باشید کلاس اکتیوتی رو از ActionBarActivity اکستندز کنید .
View view = inflater.inflate(R.layout.action_bar, null);
ActionBar actionBar = getSupportActionBar(); actionBar.setNavigationMode(ActionBar.NAVIGATION_MODE_STANDARD); actionBar.setDisplayOptions(ActionBar.DISPLAY_SHOW_CUSTOM); actionBar.setCustomView(view, new ActionBar.LayoutParams
(ViewGroup.LayoutParams.MATCH_PARENT,
ViewGroup.LayoutParams.MATCH_PARENT));
خوب اولا از همه یک view از لایه اکشن بار با استفاده از inflater میسازیم.
در خط دوم اکشن بار رو تعریف میکنیم به همین ترتیب که میبینید و توجه داشته باشید زمانی که خواستید اکشن بار رو ایمپورت کنید حتما android.support.v7.app.ActionBar انتخاب کنید.
در خط بعدی شما با توجه به اینکه فقط یه اکشن بار خالی میخواید بسازید NavigationMode رو در حالت
ActionBar.NAVIGATION_MODE_STANDARD
قرار میدید حالت های دیگه برای استفاده از تب هست که بعدا آموزش میدیم .
در خط چهارم DisplayOptions رو از نوع ActionBar.DISPLAY_SHOW_CUSTOM قرار میدیم چون میخوایم یه ویو کاستوم رو بهش بدیم .
در خط پنجم هم ویو مورد نظر رو به اکشن بار نسب میدیم که view همون لایه ساخته شده هست ، باگی که ممکن در ساخت این اکشن بار وجود بیاد این هست که اکشن بار شما ناقص باشه و کل صفحه رو پوشش نده که با استفاده از این کد که نوشتم این مشکل رفع میشه :
new ActionBar.LayoutParams(ViewGroup.LayoutParams.MATCH_PARENT, ViewGroup.LayoutParams.MATCH_PARENT
در نهایت هم تم برنامتون رو از Theme.AppCompat بگیرید.
خوب به همین سادگی شما یک اکشن بار دست ساز بدون افزودن لایبری های سنگین مثل اکشن شرلوک تونستید بسازید و از همه مهمتر این هست که رو همه نسخه ها جواب میده .

در همین تاپیک آموزش استفاده از اکشن بار ها با استفاده از لایه menu ، ساخت تب با استفاده از اکشن بار ،آموزش ساخت sarchView و ساخت ActionMod رو براتون در آینده میذارم .
موفق باشید :)
سلام خدمت شما کاشی زاده عزیز
ببخشید من از آموزش اکشن بار و اسلایدینگ منو در سایت خودتون http://learn.kashizadeh.com/
استفاده کردم
ولی هنگامی که برنامه میخواد باز بشه اول بک xml خالی میاد(در حد یک ثانیه) بعدش میره اکشن بار رو نشون میده
میشه بگید مشکل از کجاست و چگونه میتوانم آن را رفع کنم
ممنون
اینم یک عکس گیف لینک عکس

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