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

اکشن بار دست ساز و خانگی خود را بسازید + تب (آموزش)

مدیریت گفتگو
کاشی زاده 12 سال پیش
آخرین تغییر: 9 سال پیش

آموزش ویدئویی مخصوص ساخت 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  رو براتون در آینده میذارم .

 

موفق باشید :)

 

 

 

نظرات

jamal2012 12 سال پیش
سلام لایبری ساپورت ورژن 7 چیه؟
کاشی زاده 12 سال پیش
یه لایبری برای اندروید که میتویند داخل فولدر IDE پیدا کنید یا میتونید سرچ کنید و دانلود کنید
jamal2012 12 سال پیش
از کجا دانلود کنم
hamed 12 سال پیش
اگر مباحث تحریم نباشه و بتوانید آن ها را دور بزنید از طریق SDK manager می تونید آن را دانلود کنید در غیر اینصورت در اینترنت جستجو کنید پیدا خواهید کرد.
***ali*** 12 سال پیش
من که راحت اختصاصی شو ساختم.
RojaDev 12 سال پیش
این خط : View view = inflater.inflate(R.layout.action_bar, null) این بخش رو inflate(R.layout.action_bar, null) رو برام خطا میگیره... (The method inflate(byte[]) in the type Inflater is not applicable for the arguments (int, null))
محسن 12 سال پیش
Inflater با i بزرگ نوشته میشه، هرچند از این خط هایی که گذاشتین چیزی مشخص نیس.
محسن 12 سال پیش
اینجا جا نمیشه ، توی پاسخ مشکلو نوشتم
RojaDev 12 سال پیش
یک سوال کمی عمومی تر : توی همچین پروژه هایی minimun sdk ابتدای ایجاد پروژه انتخاب میکنیم بهتره چی باشه؟!
محسن 12 سال پیش
اکشن بار که از api 11 به بعد به اندروید اضافه شد اما اگه از android supprort v7 استفاده بشه مینیموم میتونه 8 هم باشه.
RojaDev 12 سال پیش
وقتی میزارم رو حالت مینیموم و کتابخونه رو ایمپورت میکنم، فایل R جاوا رو حذف میکنه!!!! حتما باید روی اندروید های بالاتر بزارم تو ارور نده؟! بخاطر همین سوال قبلی رو پرسیدم...
محسن 12 سال پیش
تو Android manifest تغییر میدین؟
RojaDev 12 سال پیش
نه...اصلا...وقتی پروژه به این قسمت لینک امپورت میکنم...این خطاها رو میده : لینک و فایل r.java رو هم حذف میکنه...اما تو بعضی از نسخه ها مشکلی نداره...android 3.0 هم همینطوریه!!!
محسن 12 سال پیش
آها ، اینو بذارین رو بالاترین نسخه، چون این مینیموم رو نشون نمیده، بلکه target sdk رو نشون میده
RojaDev 12 سال پیش
مشکل R حل شد... اما بخش پاسخ پایین رو ارور میگیره
محسن 12 سال پیش
inflater رو که تعریف شده. دیگه کلاس Inflater رو از جلوش بردار
abracadabra 11 سال پیش
توی خط دوم اررو میده . getSupportActionBar رو نمیشناسه. لینک
کاشی زاده 11 سال پیش
لینکتون باز نمیشه ! این ارور مربوط به لایبری شما هست احتمالا در ایمپورت کردن لایبری اشتباهی صورت گرفته یه بررسی بکنید اگر به نتیجه نرسیدید ، ارور مربوطه رو برام بفرستید .
abracadabra 11 سال پیش
متشکرم . درست شد. getSupportActionBar رو به getActionBar تبدیل کردم حل شد. ولی روی API 8 که اجرا میکنم ارور میده. ولی روی API 15 بدون مشکل اجرا میشه. ممنون میشم راهنمایی کنین چجور میتونم رو همه API ها اجراش کنم
محسن 11 سال پیش
اگر میخای روی api 8 هم اجرا بشه باید android support v7 رو به پروژت اضافه کنی. و از همون دستور getSupportActionBar استفاده کنی
Delna 11 سال پیش
دوستان من وقتی به پروژم Appcompat 7 اضافه میکنم فایل r.java حذف میشه واز تمام R های پروژه ایراد میگیره.چیکار کنم؟
Delna 11 سال پیش
درسته ولی فکرنمیکنم مشکلم حل کنه مگه اون قسمت که گفتین ساپورت ورژن 4 داره که من اصلا پوشه libs ندارم که بخوام حذفش کنم.
Mir Unknown 11 سال پیش
منم مشکل ایشون دارم
best_programmer 11 سال پیش
من اکشن بار رو ساختم و کامل کار میکنه یه باتن هم گذاشتم که وقتی میرنی بازش میکنه.حالا سوال: برنامه هایی مثل گوگل پلی استور وقتی اون ایمج ویو(علامت نویگین درائر)رو میزنی یه انیمیشنی روش اجرا میشه و وقتی میبندی دوباره آیکون نویگیشن درائر با یه انیمیشنی بسته میشه. چطور این رو اجرا کنم؟مرسی
کاشی زاده 11 سال پیش
ببیند شما دارید یه ویو کاستوم میسازید پس تو این حال باید خودتون براش انیمیشن بسازید یا اینکه از اکشن بار خود گوگل استفاده کنید که باید برید در موردش مطالعه کنید .
best_programmer 11 سال پیش
درسته. به نظر شما ساختن اکشن بار کاستوم به غیر از حجم پایین تر چه مزیت دیگه ای داره که از این روش استفاده کنیم. آیا توجیهی براش وجود داره؟
کاشی زاده 11 سال پیش
همونطور که از اسمش پیداست ، این قابلیت رو به شما میده تا هر چیزی که بخواین رو توی اکشن بار تغییر بدید . مهمترین قابلیتش هم همینه .
Mostafadam1 11 سال پیش
محمد حسین بعد از اینکه این کارهای بالا رو انجام دادم. حالا باید توی اندروید منیفست هم تغییری بدم؟؟ اخه الان که پروژه رو اجرا می کنم ازم خطا میگیره که support-v7-appcompat] Could not find android-support-v7-appcompat.apk!
Mr7 11 سال پیش
سلام.بچه ها اصلا انگار کلاسی بنام ActionBarActivity وجود نداره
hossein626 11 سال پیش
سلام. من از این روش استفاده کردم .به نظر من که روش خوبیه. فقط یه مشکلی دارم اینه که یک تکست ویو دارم که به عنوان تایتل اکتیوتی استفاده می کنم. این تایتل باید داینامیک باشه و با توجه به اکتیویتی قبلی تغییر کنه. آیا در این روش میشه این کار را انجام داد؟
کاشی زاده 11 سال پیش
اکشن بار رو در EnhancedActivity تعریف کنید و از اونجا در هر اکتیویتی مقدار تایتل رو عوض کنید .
Mostafadam1 11 سال پیش
آیا میشه از این اکشن بار که خودتون آموزش دادی و Navigation drawer دست ساز که اونم خودتون آموزش دادی به طور همزمان استفاده کرد؟ آخه یکیش ساپورت 4 میخواد یکی 7
کاشی زاده 11 سال پیش
بله ، فقط لایبری ساپورت appcompat رو اضافه کنید خودش شامل ورژن 4 هم میشه.
Mostafadam1 11 سال پیش
خب من اینکارو کردم ولی دیگه ورژن چهار رو اینگار نمیشه ازش چیزی ایمپورت کرد :( میگم کلا واسه این دو کار یعنی اسلاید منو و اکشن بار چه تغییراتی باید توی منیفست انجام بشه؟
کاشی زاده 11 سال پیش
هر تا آموزشش موجود هست میتونید مطالعه کنید به ترتیب ،http://answers.uncocoder.com/question/6053 و لینک
Mostafadam1 11 سال پیش
همه ی اینا رو مو به مو رفتم. ولی هر بار یه اروری میده :((
مجتبی 11 سال پیش
من با لایبرری داخل sdk پروژه رو ساختم ارور زیاد میداد اما وقتی ایبرری که محمد حسین در اول تاپیک لینکشو داده دانلود کردم و پروژه رو ساختم ارور ها بر طرف شد شاید مشکل شما هم همین باشه هم تو ورژن استاد جواب داد هم ورژن 22.3
Mostafadam1 11 سال پیش
منم لایبری ایشون رو دانلود کردم الان navigation رو ساختم بدون مشکل. ولی وقتی ساپورت 4 رو حذف میکنم و ساپورت 7 رو ایمپورت میکنم واسه اکشن بار ارورها شروع میشه .
حمید زمانی 11 سال پیش
محمد حسین جان ، کد کاملا درست کار میکنه ولی یه مشکل کوچیک دارم باهاش اونم اینکه : وقتی اکتیویتی رو اجرا می کنم حدود 1 ثانیه یا کمتر اکشن بار به حالت نرمال خودشه و بعد استایلی که ما تعریف کردیم رو بخودش میگیره ، برای حل این مشکل باید چیکار کنم؟
New Style 11 سال پیش
ببخشید یه مشکل : وقتی متد دکمه ی menu رو تو اکتیویتی تعریف می کنم برای اینکه بعدش متد on click listener رو بهش اضافه کنم اروری نمیگیره ولی وقتی از امولیتور اجرا میکنم force close میده
کاشی زاده 11 سال پیش
ارورتون رو بررسی کنید ببنید چی هست ، اگر متوجه نشدید ارور رو در پاسخ جداگانه در همین تاپیک درج کنید.
نام نیک :) 11 سال پیش
خیلی خوبه دستتون درد نکنه ، ممنون بابت آموزش خوبتون خدا خیرت بده :)
قندروید 11 سال پیش
عــــــــــــالی بود؛ عالی! دمت گرم.
miladjalali.ir 11 سال پیش
سلام من از این آموزش استفاده کردم! ولی وقتی میرم توی یه اکتیویتی دیگه اکشن بار از کار میفته و کار نمیده! چطوری باید درستش کنم؟ اصلا چطوری باید برای هر اکتیویتی یک لایه جدید اکشن بار ست کنم؟ ممنونم
hiemdall 11 سال پیش
من هم مشکل شما رو دارم و بعد از پرسیدن فقط یک نفر جواب داد اون هم یک جواب اشتباه بود امیدوارم اینجا بشه جواب رو به دست اورد
کاشی زاده 11 سال پیش
کد های مربوط به اکشن بار رو در کلاس EnhancedActivity قرار بدید و اکتیوتی ها رو از این کلاس extends کنید .
احسان منصوری 11 سال پیش
آقای کاشی زاده من آموزش اکشن بار شما رو دیدم. بهتر نیست به جای تعریف اینهمه کتابخونه و کدنویسی، مستقیما layout دستی خودمون رو توی layoutهای دیگه include کنیم؟
کاشی زاده 11 سال پیش
میشه از روش های مختلف استفاده کرد ولی بهترین روش به نظر بنده همین روش هست که در اون هیچ لایبری اضافی نشده جز یک لایبری که مربوط به خود اندروید هست .
miladjalali.ir 11 سال پیش
سپاسگذارم،میشه لطف کنید و در مورد EnhancedActivity یکم بیشتر توضیح بدید؟
Hamedmtn 11 سال پیش
بسیار ممنون...موفق باشد دوست عزیز
کاشی زاده 11 سال پیش
استاد در آموزش هاشون توضیحات کامل در رابطه با EnhancedActivity دادند . خلاصش میشه این : یک کلاس اکتیویتی هست همه اکتیوتی ها از اون extends میشن .
miladjalali.ir 11 سال پیش
میشه لطف کنید و بگید که کدوم قسمت از آموزش ها توضیح دادن؟ سپاسگذارم
کاشی زاده 11 سال پیش
خاطرم نیست ، باید همون اویل باشه در ربابطه با G.CurrentActivity ببنید کجا مطلب گفتند .
Sara.gh 11 سال پیش
دوستان من UI برنامم رو به طور کامل طراخی کردم اما اخرش یادم اومد که اکشن بار بسازم.چطور میتونم لایه اکشن بار و بسازم بدون اینکه لایه های دیگ خراب نشن؟
Lion 10 سال پیش
تم برنامه رو چه جوری تو منیفست از Theme.AppCompat بگیرم؟
شیخی 9 سال پیش
سلام و ممنون از آموزش خوبتون. اگر همزمان دو اسلاید بخوام ایجاد کنم که یکی از سمت چپ باز بشه و یکی هم از سمت راست، چه تغییراتی باید ایجاد کنم؟ در فایل root باید هردو رو تعریف کنم؟ اما اسم لایه اصلی فایل روت رو drawerlayout تعریف کردید که داخل فایل main برای اسلاید چپ در نظر گرفتیدش و اگر جدا یه Drawerlayout دیگه بخوام تعریف کنم در کلاس اصلی setContext رو برابر root قرار دادید. ممنون میشم کمکم کنید
شیخی 9 سال پیش
مشکل حل شد. باید gravity لایه سمت راست رو right قرار می دادم

پاسخ‌ها 22

محسن 12 سال پیش

اول inflater باید تعریف  بشه و بعد ویو از روش ساخته بشه به این صورت:

LayoutInflater inflater = (LayoutInflater) getSystemService(Context.LAYOUT_INFLATER_SERVICE);
View view = inflater.inflate(R.layout.action_bar, null);


نظرات

RojaDev 12 سال پیش
عین کد شمارو کپی پیست کردم...حل شد :| ممنونم دوست عزیز...
کاشی زاده 11 سال پیش

خُب ، دوستان طبق قولی که دادم میخوام آموزش اضافی کردن تب به اکشن بار رو براتون بزارم.

طبق آموزش های بالا پیش برید و اکشن بار خودتون رو بسازید .

حالا با اضافی کردن کد های زیر تب های شما آماده هست .

                ActionBar actionBar = getSupportActionBar();
		actionBar.setNavigationMode(ActionBar.NAVIGATION_MODE_TABS);
		actionBar.setHomeButtonEnabled(true);
		actionBar.setDisplayShowTitleEnabled(true);

ActionBar.Tab tab1 = actionBar.newTab().setText("Tab 1"); ActionBar.Tab tab2 = actionBar.newTab().setText("Tab 2"); ActionBar.Tab tab3 = actionBar.newTab().setText("Tab 3"); ActionBar.Tab tab4 = actionBar.newTab().setText("Tab 4"); ActionBar.Tab tab5 = actionBar.newTab().setText("Tab 5"); actionBar.addTab(tab1.setTabListener(this)); actionBar.addTab(tab2.setTabListener(this)); actionBar.addTab(tab3.setTabListener(this)); actionBar.addTab(tab4.setTabListener(this)); actionBar.addTab(tab5.setTabListener(this));

حالا بریم سراغ کد ها اول از همه در بالا هم گفتم کلاس شما باید از ActionBarActivity اکستندز بشه و برای فعال کردن تب ها باید implements TabListener رو هم اضافی کنید . 

توجه داشته باشید که با افزودن ایمپلمنت باید متد های اون رو هم Override کنید .

4 خط کد اول که مشخصه قبلا هم توضیح دادیم فقط تفاوتی که داریم در 

 actionBar.setNavigationMode(ActionBar.NAVIGATION_MODE_TABS);

هست که چون میخوایم از تب استفاده کنید از NAVIGATION_MODE_TABS استفاده میکنیم.

2 خط بعدی هم میتونید بنویسید مثل من و اگر از کد اکشن بار دست ساز استفاده میکنید نیازی نیست .

در کد زیر ما تب ها رو معرفی میکنیم و برای هرکدوم یه عنوان انتخاب میکنیم .

  ActionBar.Tab tab1 = actionBar.newTab().setText("Tab 1");

در کد زیر هم تب ها رو به اکشن بار اضافی میکنیم :

 actionBar.addTab(tab1.setTabListener(this));

فقط نکته ای که هست setTabListener(this) اشاره داره همون متد هایی که Override کردیم که برای انجام عملیات استفاده میشه که توضیحات بیشتر رو خودتون میتونید پیدا کنید .

نکته آخر میتونید setTabListener رو همون بالا موقع معرفی تب اضافی کنید ولی من خواستم شلوغ نشه .

دیگه تمومه :)

برای ایجاد تب راه های مختلفی هست آموزشی که اینجا قرار دادم براتون بسیار ساده و سعی کردم قابل فهم باشه تا دوستان سر در گم نشن ، ولی امکانات تب ها به اینجا ختم نمیشه و خیلی بیشتر از اینه میشه ازشون کار کشید .

 

موفق باشید :)

 .

 

نظرات

طاهر 11 سال پیش
سلام برادر اگه لینک پروژه و تصویر رو هم میزاشی خیلی خوب میشد راحتتر میشه مطلب رو درک کرد
RojaDev 11 سال پیش
دقیقا با نظر ایشون موافقم...همون اکشن بار هم یه بار تا اخر رفتم اما جواب نداد!!!! اگه امکانش هست برا جفتش یه سمپل بزارین تا بهتر مطلب رو درک کنیم...سپاس
کاشی زاده 11 سال پیش
اسکرین شات رو انداختم سورس هم که براتون نوشتم فقط متن فارسی رو پاک کنید چیز اضافی دیگری وجود نداره اگرم جایی سوال دارید بگید تا راهنمایی کنم
Alireza_Ghamkhar 11 سال پیش
سلام , نمیدونم چرا وقتی هم کد مربوطه به اکشن بار و هم کد مربوط به تب را که میزنم اول تب هستش بعد اکشن باری که ساختم ظاهر میشه...یعنی مثل تصویری که شما گذاشتی نیست. میشه کمکم کنی...
کاشی زاده 11 سال پیش
درسته به خاطر اینکه شما دارید از یک اکشن بار کاستوم شده استفاده میکنید برای حل این مشکل یک راه حل وجود داره ، باید Home I Logo رو فعال کنید که این مشکل حل بشه وقتی اینکارو میکنید مشکل جدید تری به وجود میاد که بغل اکشن بار نوار مشکی یا سفید میوفته برای حل این مشکل هم باید یه 3 خط کد اضافی کنید که در حال حاضر یادم نیست کدش رو ولی توی استک بگردید پیدا میشه .یه چیز در مورد Gone و Visible کردن لوگو هست که این مشکل رو حل میکنه
Alireza_Ghamkhar 11 سال پیش
اقا میشه بی زحمت بهم بگید چیه دقیقا؟ من خیلی گشتم به جواب نرسیدم و به این مشکل خوردم... جدا ممنون میشم...
Ali 11 سال پیش
ممنون از آموزش‌های خوبتون فقط اگه میشه راه حل این مشکل آخر رو هم بگید.☺
طاهر 11 سال پیش

ما که بالاخره نتونستیم راهش بندازیم خطاهای زیر رو میده موقع افزودن لایبراری به پروژه

 android\android-support-v7-appcompat\res\values-v14\themes_base.xml:148: 
error: Error retrieving parent for item: No resource found that matches the given name 'android:Theme.Holo.Light.DialogWhenLarge'.

android\android-support-v7-appcompat\res\values-v14\themes_base.xml:159:
error: Error: No resource found that matches the given name: attr 'android:actionBarWidgetTheme'.

نظرات

کاشی زاده 11 سال پیش
احتمالا در اضافه کردن لایبری مشکلی هست ، یا اینکه مشکل در انتخاب تم دارید بهتره تمی که برای برنامه انتخاب میکنید از Theme.AppCompat.Light کنید
125025 11 سال پیش
سلام من هم مشکل بالا را دارم به من خطای R میده باید چیکارش کنم ..

دوستان اگه مشکل آقا طاهر رو داشتن به این تاپیک مراجعه کنند شاید کمک کنه. من هم دقیقا همین مشکل آقا طاهر رو داشتم که با روشی که توی تاپیک توضیح دادم برای من حل شده. شما هم تست کنید اگه کمکی کرد اطلاع بدید.

نظرات

125025 11 سال پیش
سلام من هم مشکل بالا را دارم به من خطای R میده باید چیکارش کنم ..تاپیک حذف شده
کاشی زاده 11 سال پیش

Alireza_Ghamkhar@ :  سلام , نمیدونم چرا وقتی هم کد مربوطه به اکشن بار و هم کد مربوط به تب را که میزنم اول تب هستش بعد اکشن باری که ساختم ظاهر میشه...یعنی مثل تصویری که شما گذاشتی نیست. میشه کمکم کنی...

 

اگر در استفاده از اکشن بار custom بهمراه tab به مشکل بالا بر خوردین میتونید از این روش استفاده کنید :

         actionBar.setLogo(null);
actionBar.setDisplayShowHomeEnabled(true);
actionBar.setDisplayHomeAsUpEnabled(false);
actionBar.setHomeButtonEnabled(false);

View homeIcon = findViewById(
Build.VERSION.SDK_INT >= Build.VERSION_CODES.HONEYCOMB ?
android.R.id.home : android.support.v7.appcompat.R.id.home);
((View) homeIcon.getParent()).setVisibility(View.GONE);
((View) homeIcon).setVisibility(View.GONE);
actionBar.setDisplayShowTitleEnabled(false);

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

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

 

موفق باشید :)

 

نظرات

Ali 11 سال پیش
البته فکر کنم باید این خط رو هم اضافه کنید: actionBar.setDisplayOptions(ActionBar.DISPLAY_SHOW_CUSTOM | ActionBar.DISPLAY_SHOW_HOME);
کاشی زاده 11 سال پیش
اینا رو قبلا تو پست آموزش action bar نوشتم اون بالاس اگر دقت کنید .
Ali 11 سال پیش
توی حالت landscape اکشن‌بار و تب‌ها کنار هم قرار میگیرند!
Ali 11 سال پیش
کسی مشکل من رو نداشته؟ راه حل چی هست؟؟؟
کاشی زاده 11 سال پیش
این مشکل رو من خودمم بهش برخوردم و راه حلی نداره در واقع جز قابلیت هاش محسوب میشه میتونید از لایبری استفاده کنید یا خودتون یک تب کاستم بسازید /
Alireza_Ghamkhar 11 سال پیش
به نظر من بهترین کار استفاده از Sherlock Actionbar هستش... بنده به شخصه کلی تو دردسر افتادم چرا که همش با دستوراتی رو به رو میشدم که یا ناسازگار بود یا اینکه واسه اندروید 3 به بالا بود ولی از وقتی که از Sherlock Actiobar استفاده میکنم کلی آرامشم بیشتر شده و کارمم راحتتر شده....( تازه پوستمم لطیفتر شده =))))) ) جدا از شوخی اگر کسی خواست با Sherlock ActionBar کار کنه بگه راهنمایی اش میکنم در حد توانم
کاشی زاده 11 سال پیش
اکشن شرلوک هم مشکلات خودش رو داره این روش برای کسانی هست که میخوان لایبری استفاده نکنن و حجم برنامشون کمتر باشه .
Alireza_Ghamkhar 11 سال پیش
حقیقتش من که هرچی میخواستم رو ازش در آوردم بی استرس و نگرانی که یه خط کد مثلا برای اندروید 3 به بالاست که همه چی رو بهم میریزه... البته که دردسرم داره ولی از نظر شخصی بنده که می ارزید... البته که شما تجربه اتون بیشتر از ماست که یه برنامه خیلی باحال مثل اینجاست ساختید...(به شخصه در حد مرگ عاشق UI اش شدم :دی)
Mir Unknown 11 سال پیش

اقا این لایبری ساپورت ورژن 7 یا همون appcompat  رو از کجا بیاریم و چطوری اضافه کنیم به پروژه مون؟!

نظرات

کاشی زاده 11 سال پیش
در این مسیر قرار داره \ADT\sdk\extras\android\support\v7\appcompat اگر نداشتید یا وجود داشت ولی نسخه اون قدیمی بود آپدیت کنید یا سرچ کنید میشه دانلود کرد
Mir Unknown 11 سال پیش
کاری که گفتید انجام دادم،حالا چطوری اضافش کنم به پروژه ام؟
کاشی زاده 11 سال پیش
توی آموزش های استاد هست ، روی فولدر پروژه کلیک راست Build path بعد اونجا بهش اضافی کنید .
Mir Unknown 11 سال پیش
میتونید ی لینک برای دانلود بدید که امپورت کنم بعد به پروژه ام اضافش کنم،هرچی گشتم پیدا نکردم
کاشی زاده 11 سال پیش
این لینک ورژن 7 اگر ورژن 21 رو دانلود کنید میتونید از متریال دیزاین لولیپاپ هم استفاده کنید .
shahkar_ir 11 سال پیش

سلام  دوستان میتونید سورسشو آپلود کنید؟چون هرکاری کردم خطا داد

نظرات

کاشی زاده 11 سال پیش
دوست عزیز اول از همه لطفا در قسمت نطرات این متن رو قرار بدید ، دوم اینکه منظورتون کدام سورس هست ؟
shahkar_ir 11 سال پیش
با عرض پوزش.کد کامنت اول.ممنونم
کاشی زاده 11 سال پیش
منظورتون رو متوجه نشدم بازم الان دقیق دنبال سورس چه چیزی هستید ؟ اگر منظورتون لایبری ساپورت هست در پاسخ بالایی آخرین کامنت موجود هست.
shahkar_ir 11 سال پیش
لایبری رو دارم اما کد بالا رو میدم خطا میده.فایل مثال بالا رو کامل خواستم
Mir Unknown 11 سال پیش

یکی ببینه مشکل کجاست وقتی اجرا میکنم کرش میکنه

 import android.content.Context;
import android.os.Bundle;
import android.support.v7.app.ActionBar;
import android.support.v7.app.ActionBarActivity;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;


public class ActionActivity extends ActionBarActivity {

/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);

LayoutInflater inflater = (LayoutInflater) getSystemService(Context.LAYOUT_INFLATER_SERVICE);
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));

}
}

نظرات

کاشی زاده 11 سال پیش
اروری که میده رو بنویسید . احتمال داره تم اپ کامپت رو در style برنامه ننوشته باشید .
Mir Unknown 11 سال پیش
از خط 17 ارور میگیره که میشه این super.onCreate(savedInstanceState);
Mir Unknown 11 سال پیش
انگار مشکل همینه که گفتید، چکار کنم؟
وحید 11 سال پیش
یک سوال برای من وجود داره اینکه چرا اکشن بار؟؟؟ چرا یک تکتست ویو نندازیم بالا و توش رو رنگ بریزیم و روش دکمه اضافه کنیم؟
Mir Unknown 11 سال پیش
من که واس تب ها میخوام ازش استفاده کنم،اونجوری که شما میگی میشه از تب ها استفاده کرد؟!
Delna 11 سال پیش
سلام به همه.منم مشکل جناب mir.unknown رو دارم.وقتی پروژه اجرا میشه از همون خط 17 که ایشون گفتن ایراد میگیره و در قسمت theme اصلا appcompat رو نمیشناسه .اما همه ی مراحل ایمپورت لایبرری رو درست انجام دادم.این مشکل کسی حل کرده؟
Mir Unknown 11 سال پیش
من مشکلو اینجوری حل کردم پرژمو با api 15 ساختم بعد ک یبار اجرا گرفتم تو منیفیست 15 رو کردم 8 ،البته قدم قدم با این تاپیک پیش رفتم لینک ولی حالا مشکل زیرو دارم ):
Delna 11 سال پیش
البته من این مشکل درست کردم ولی حالا مشکل پایین شما که اکشن بار میچسبه به سقف اکتیویتی رو دارم.شما اینو حل کردین؟
Mir Unknown 11 سال پیش
شما چطوری حل کردید بگید شاید به درد کسی دیگم خورد، ن متاسفانه اگه شما تونستید حل کنید به منم بگید ممنون میشم
Mir Unknown 11 سال پیش

بلاخره با کمک دوستان تونستم پیادش کنم، حالا ی مشکل دارم مشکل اینه ک تب ها بالا هستن اکشن بار پایین

این عکس

اینم کد

 
import android.content.Context;
import android.os.Build;
import android.os.Bundle;
import android.support.v4.app.FragmentTransaction;
import android.support.v7.app.ActionBar;
import android.support.v7.app.ActionBar.Tab;
import android.support.v7.app.ActionBar.TabListener;
import android.support.v7.app.ActionBarActivity;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;


public class TestActivity extends ActionBarActivity implements TabListener {

/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);

LayoutInflater inflater = (LayoutInflater) getSystemService(Context.LAYOUT_INFLATER_SERVICE);
View view = inflater.inflate(R.layout.action_bar, null);

ActionBar actionBar = getSupportActionBar();
actionBar.setLogo(null);
View homeIcon = findViewById(
Build.VERSION.SDK_INT >= Build.VERSION_CODES.HONEYCOMB ?
android.R.id.home : android.support.v7.appcompat.R.id.home);
((View) homeIcon.getParent()).setVisibility(View.GONE);
((View) homeIcon).setVisibility(View.GONE);
actionBar.setDisplayShowTitleEnabled(false);
actionBar.setDisplayOptions(ActionBar.DISPLAY_SHOW_CUSTOM);
actionBar.setHomeButtonEnabled(true);
// actionBar.setDisplayShowTitleEnabled(true);
actionBar.setCustomView(view, new ActionBar.LayoutParams(ViewGroup.LayoutParams.MATCH_PARENT, ViewGroup.LayoutParams.MATCH_PARENT));
actionBar.setNavigationMode(ActionBar.NAVIGATION_MODE_TABS);
// actionBar.setHomeButtonEnabled(true);
// actionBar.setDisplayShowTitleEnabled(true);

ActionBar.Tab tab1 = actionBar.newTab().setText("Tab 1");
ActionBar.Tab tab2 = actionBar.newTab().setText("Tab 2");
ActionBar.Tab tab3 = actionBar.newTab().setText("Tab 3");
ActionBar.Tab tab4 = actionBar.newTab().setText("Tab 4");
ActionBar.Tab tab5 = actionBar.newTab().setText("Tab 5");

actionBar.addTab(tab1.setTabListener(this));
actionBar.addTab(tab2.setTabListener(this));
actionBar.addTab(tab3.setTabListener(this));
actionBar.addTab(tab4.setTabListener(this));
actionBar.addTab(tab5.setTabListener(this));
}


@Override
public void onTabReselected(Tab arg0, FragmentTransaction arg1) {
// TODO Auto-generated method stub

}


@Override
public void onTabSelected(Tab arg0, FragmentTransaction arg1) {
// TODO Auto-generated method stub

}


@Override
public void onTabUnselected(Tab arg0, FragmentTransaction arg1) {
// TODO Auto-generated method stub

}
}

نظرات

کاشی زاده 11 سال پیش
دقیقا چند تا پاسخ بالاتر یکی از دوستان همین سوال رو پرسیده بود و بنده در پاسخ بعدی جوابشون رو دادم
Mir Unknown 11 سال پیش
پاسخ ویرایش شد از کد بالا هم استفاده کردم مشکل همچنان وجود داره
Alireza_Ghamkhar 11 سال پیش
این مشکل مثل یک باکتری به برنامه میچسبه و تا تصمیم به کار روی اندروید 4 نگیرید ولتون نمیکنه... شرلوک اکشن بار استفاده کنید... مثل من چندین روز وقتتون رو میگیره آخرش هم هیچی به هیچی
کاشی زاده 11 سال پیش
به دوست عزیز مشکل از کد نویسی شماست وگرنه بنده خودم در پروژه هام استفاده کردم و خیلی از دوستان دیگه هم همینطور
Spirit 11 سال پیش
@Alireza_Ghamkhar سازنده شرلوک خودش هم دیگه ازش استفاده نمیکنه چه برسه به بقیه.
Mir Unknown 11 سال پیش
دوستان نگفتید مشکل کد تو پاسخ چیه ک هنوز جای اکشن بار و تب ها جا به جا هستش لطفا کمک کنید
CodeMaster 11 سال پیش
توی قسمت Display Option در کنار اون گزینه یک | (OR بیتی) قرار بدید و ActionBar.Display_SHOW_HOME راهم بنویسید مشکلتون حل میشه
MeHDi 11 سال پیش
با سلام. نمیدونم چرا اینقدر دوستان به مشکل میخورن.. من با نوشتن همون کدهای بالا براحتی و بدون دردسر تونستم این اکشن بار بهمراه تب ها را بسازم.! فقط میخواستم بدونم که برای هر تب باید از فرگمنت استفاده کرد و یا میشه یه لایه XML را براش درنظر گرفت؟ یه خورده تو این قسمت هنگ کردم!! :دی
f-Dehghan 11 سال پیش
سلام آیکون اکشن بار رو چطور سمت راست بردید؟
مجتبی 11 سال پیش

با سلام من هر کاری کردم نتونستم انجام بدم لایبرری ها درست ایمپورت میشن اما موقع اجرا ارور میده

ضمنا تو minfest  من نتونستم Theme.AppCompat.Light رو پیدا کنم و پروژه رو برای اندروید 2.2 تنظیم کردم

 

نظرات

مجتبی 11 سال پیش
کسی از دوستان نمی تونه راهنمایی کنه ؟!!!!!
کاشی زاده 11 سال پیش
دوست گرامی اگر یکم بگردید و بعد سوال بپرسید به جواب میرسید ، وقتی دوستان میبینن یه سوال چندین بار پرسیده شده و پاسخ هم داده شده دیگه تمایلی به پاسخ دادن به اون سوال ندارند لینک
مجتبی 11 سال پیش
محمد حسین جان ممنون از پاسخت . اگه یه خورده دقت کنید من حدود 3 ماهه عضو سایت شدم تعداد سئوالاتم حدود 10 تا بیشتر نمیشه بیشتر جوابامو با جستجو حتی خارج از این سایت پیدا میکنم و شدیدا به این موضوع که سئوال بیجا نپرسم پایبندم اما قبول کنید امکانات جستجو در تاپیک ها یه خورده پایینه و تواین قسمت ضعف وجود داره (البته با کمال احترام به استناد عزیز )
مجتبی 11 سال پیش
محمد حسین جان ممنون از پاسخت . اگه یه خورده دقت کنید من حدود 3 ماهه عضو سایت شدم تعداد سئوالاتم حدود 10 تا بیشتر نمیشه بیشتر جوابامو با جستجو حتی خارج از این سایت پیدا میکنم و شدیدا به این موضوع که سئوال بیجا نپرسم پایبندم اما قبول کنید امکانات جستجو در تاپیک ها یه خورده پایینه و تواین قسمت ضعف وجود داره (البته با کمال احترام به استاد عزیز )
jkfilter 11 سال پیش

بابا جان هرکی دوست دارین یه اموزش درست و در مون از صفر بذارید ببینیم دیگه!

استاد عاجزانه تقاضا دارم آموزشهارو آپدیت کنید با بخشهای جدید.

همه آموزشهارو دیدم یه اروری میده!کامل نیستن.حتما یه چیزی نیاز داره که نمیگین.البته منظورم اینه ناخاسته نمیگین.چون سیستم ما اون قسمتو نداره ارور میده.

خب چیکار کنیم آخه.الان باز کلی لینک میدین.بابا همه رو امتحان کردم نشد.

نظرات

کاشی زاده 11 سال پیش
مشکلتون رو مطرح کنید ، در همین پاسخ تا رفع بشه . بنده خودم هنوز فرصت نکردم ولی اگر فرصتی بشه آموزشش رو ضبط میکنم .
حمید زمانی 11 سال پیش

محمد حسین جان ، کد کاملا درست کار میکنه ولی یه مشکل کوچیک دارم باهاش اونم اینکه : وقتی اکتیویتی رو اجرا می کنم حدود 1 ثانیه یا کمتر اکشن بار به حالت نرمال خودشه و بعد استایلی که ما تعریف کردیم رو بخودش میگیره ، برای حل این مشکل باید چیکار کنم؟

نظرات

کاشی زاده 11 سال پیش
این مشکل توی اکثر برنامه ها هست و اکشن بار یه بار لود میشه به صورت عادی ، شما میتونید یه splash screen بذارید قبل از شروع اکتیویتی بدون اکشن بار باشه تا اونو نشون نده یا مثلا یه صفحه سفید بدون اکشن بار در ابتدا نمایش داده بشه .
حمید زمانی 11 سال پیش
خوب من از صبح تا حالا درگیره این موضوعم ، برای حذف اکشن بار splash screen هم مشکل دارم اینجوری که صفحه لود میشه ، اکشن بار نشون داده میشه و بعد حذف میشه
کاشی زاده 11 سال پیش
تمی که برای splash screen میذارید از نوع notitlebar باشه ، اینطوری اکشن بارش حذف میشه .
doost_fu 11 سال پیش

سلام
من هر کاری میکنم اون قسمت سمت چپ تصویر نمیره دلیلش چی می تونه باشه ؟
سایز اون لایه FillParent هست از هر چی دیگه استفاده کردم بدتر میشه .
" از اندروید استودیو استفاده میکنم."

 

با تشکر .

نظرات

کاشی زاده 11 سال پیش
قبلا توضیحش رو در بالاتر دادم ولی اگر کمی هم صبر کنید ویدئو آموزشی برای اکشن آماده میشه .
atf 11 سال پیش
من آموزش رو هم نگاه کردم و مطابق با اون جلو رفتم ولی این مشکل رو دارم
doost_fu 11 سال پیش
من وقت نکردم برم سراغش واگه این مشکل برا خیلی ها پیش میاد و جوابشو میدونید لطف کنید یه کوچولو توضیح بدید ، با تشکر .
کاشی زاده 11 سال پیش
این به خاطر این هست که شما از Tab استفاده کردید و من مشکل تب رو در همین تاپیک بالاتر مطرح و راه حلش رو هم گفتم .
doost_fu 11 سال پیش
ما هر کاری کردیم این مورد سرجاشه ! از روی فیلم اموزشی هم برطرف نشد ! بدون tab و با tab فرقی نمیکنه اسلایدینگ منو هم اضافه کردم ولی فقط اون مورد اذیت میکنه !
mtn67 11 سال پیش
ممنون از آموزش خوبتون.یک سوال:چجوری میشه تعداد تب هارو زباد کرد و مثل بعضی برنامه ها این امکان وجود داشته باشه که تب هارو این و ر و اونور کشید و جابجا کرد؟
atf 11 سال پیش
برای این کار که تب ها رو جا به جا کنی باید از ویو پیجر استفاده کنی
mtn67 11 سال پیش
من منظورم تب هایی هست که مثلا در نرم افزار بازار وجود داره.تب هارو به هر اندازه ک بخوای میشه جابجا کرد.ولی با ویو پبجر اگه این کارو انجام بدیم و مثلا اگر یک تب را نصفه بکشیم و رها کنیم سر جای خودش و همون نصفه باقی نمیمونه و یا به تب بعدی میره و یا به حالت اولش بر می گرده.امیدوارم ک منظورمو درست رسونده باشم.البته فکر کنم با همون ویو پیجر بشه انجام داد ولی یه تغییراتی باید اعمال کرد.اگه راهنمایی کنی وممنون میشم.در حد یک توضیح کوتاه
کاشی زاده 11 سال پیش
شما به هر تعداد که نیاز دارید تب درست میکنید . خود Tab در واقع یک لایه پدر از نوع horizontal scrollView داره .
mtn67 11 سال پیش
مرسی.بدون نیاز به ویو پیجر؟؟؟؟
کاشی زاده 11 سال پیش
ببیند شما از ویو پیجر برای نمایش محتوی استفاده میکنید و ربطی به تب نداره ، ولی از طرفی کار تب نمایش محتوی های مختلف هست . میتونید برای محتوی از ویو پیجر استفاده کنید و یا خودتون فرگمنت بندازید توی صفحه و توی اون محتوی رو نشون بدید . خود تب نیازی به هیچ چیزی نداره
mtn67 11 سال پیش
چرا در حالت landscape اکشن بار و تم ها در کنار هم قرار می گیرند؟اگه این عیب راه حل نداره پس باید چکار کرد؟چجوری میشه هم تب داشت و هم اکشن بار؟؟؟؟؟؟؟؟؟
کاشی زاده 11 سال پیش
این عیب نیست در واقع یه امکان هست ولی اگر میخواد این اتفاق نیوفته باید از نوع دیگه ای از تب استفاده کنید.
وحید 11 سال پیش
محمد حسین جان آموزش اسلایدینگ منو رو نذاشتی؟ اون لینکی که بالا بود برای آموزش ویدئویی خراب شده بود.
کاشی زاده 11 سال پیش
پشت های آموزش کوقتا حذف شدن و قرار هست آموزش های جدید با سایت جدید یکجا بیان بالا ، احتمال هم داره بعضی از آموزش هایی که از نظر صدا کیفیت مناسب ندارن رو مجددا ضبط کنم با صدا بهتر
mtn67 11 سال پیش
یعنی چی از نوع دیگه ای از تب؟یه راهنمایی کوچیک که سرنخ دستم بیاد.مرسی
کاشی زاده 11 سال پیش
چند مدل تب مختلف داریم 2 تاش برای اکشن بار هست یکی برای ویو پیجر
محمد 11 سال پیش
doost_fu عزیز. این فاصله به دلیل اینه که برنامتون اندروید 5 رو هم ساپورت میکنه. اگه توی تنظیمات برنامه تنظیم کنید که تا اندروید 4.4 رو ساپورت کنه این مشکل حل میشه. راه حل بهتر اینه که بجای actionbar از toolbar استفاده کنید که دوستان راه ساختش رو گذاشتن.
JavaDroid 11 سال پیش
این مشکل فاصله سمت چپ همونطور که دوستمون گفتن مربوط به نسخه اندروید بالای 5 هست که تولبار نیاز داره برای حل این مشکل لینک مشاهده کنید
کاشی زاده 11 سال پیش
این مشکل مربوط به اکشن بار هست استفاده از تولبار بحثش کاملا جدا هست ، بنده خودم این مشکل رو با همین کدی که بالاتر نوشتم حل کردم و در نسخه های جدید اندروید هم بدون مشکل کار میکنه.
sajad98 11 سال پیش

سلام. برا خود actionBar چجوری باید گزینه اضافه کرد؟ یعنی مثلا یه قسمت تماس بهش اضافه کنی؟

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

ممنون/.

نظرات

کاشی زاده 11 سال پیش
آموزش ویدویی در این رابطه تهیه شده است مطالعه بفرمایید.http://learn.kashizadeh.com
hiemdall 11 سال پیش

با سلام و خسته نباشید 
بعد از دیدن فیلم اموزشی که محمد حسین زحمتش رو کشیدن تونستم اکشن بار رو خیلی راحت درست کنم تنها مشکلی که دارم اینه که اکشن بار فقط صفحه ی اول برنامه ام وجود داره و در اکتیویتی های دیگه وجود نداره ممنون میشم کمک کنید

نظرات

f-Dehghan 11 سال پیش

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

         <activity
android:name=".ActivityMain"
android:label="@string/app_name"
android:uiOptions="splitActionBarWhenNarrow" >
<meta-data
android:name="android.support.UI_OPTIONS"
android:value="splitActionBarWhenNarrow" />
</activity>

نظرات

Ali 11 سال پیش
من این کدو زدم ولی عمل نکرد
Mseif 11 سال پیش

سلام دوستان کسی تو اکشن به این مشکل برخورده ؟ (فضا های اضافی در قسمت بالا و پایین) Padding و margin ها رو هم چک کردم 

نظرات

کاشی زاده 11 سال پیش
الان مشکل کدوم هست و اینکه از چه روشی رفتی ؟
Mseif 11 سال پیش
از روش خودتون توی فیلم آموزشی پیش رفتم همه چیز درسته ولی اون فضا های بالا و پایین مشکل ساز شده ارتفاع هم 48dp هست
کاشی زاده 11 سال پیش
دقت داشته باشید که اکشن بار 48dp رو باید پر کنه اگر فضایی که رنگ نارنجی زدی کمتر از 48dp باشه میتونه باعث این مشکل باشه .
کاشی زاده 11 سال پیش
کد xml مربوط به اکشن بار رو بذار تا بررسی کنم .
Mseif 11 سال پیش
اون فضای نارنجی همون action_bar.xml هست که 48dp قرار دادم
Mseif 11 سال پیش

 

<?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="48dp" android:background="#d35400" android:orientation="horizontal" > <LinearLayout android:layout_width="0dp" android:layout_height="match_parent" android:layout_weight="1" android:orientation="vertical" android:weightSum="10" > <ImageView android:id="@+id/menuico" android:layout_width="wrap_content" android:layout_height="wrap_content" android:src="@drawable/menu" /> </LinearLayout> <LinearLayout android:layout_width="0dp" android:layout_height="match_parent" android:layout_weight="9" android:gravity="center_vertical" android:orientation="horizontal" android:weightSum="10" > <LinearLayout android:layout_width="0dp" android:layout_height="wrap_content" android:layout_weight="8" android:orientation="vertical" > <TextView android:id="@+id/txt" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_gravity="right" android:text="action bar" android:textAppearance="?android:attr/textAppearanceMedium" android:textColor="#fff" /> </LinearLayout> <LinearLayout android:layout_width="0dp" android:layout_height="wrap_content" android:layout_weight="2" android:orientation="vertical" > <ImageView android:id="@+id/imageView1" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_gravity="center" android:src="@drawable/ic_launcher" /> </LinearLayout> </LinearLayout> </LinearLayout>

 

نظرات

Mseif 11 سال پیش
دوستان راهنمایی کنید
Mseif 11 سال پیش
آقای کاشی زاده لطف میکنید کد رو یه بررسی کنید ممنون
کاشی زاده 11 سال پیش
در وزن دهی لایه هاتون اشکال دارید و مثلا یکی از لایه هارو وزن 2 دادید . یکبار آموزش رو مجددا با دقت بیشتر نگاه کنید .
اسلامی فر 11 سال پیش

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

نظرات

moin007 9 سال پیش
منم همین مشکل و دارم :(
علی 10 سال پیش

سلام استاد ممنون از آموزش خیلی خوبتان

فقط یک مورد مهم اینکه من میخام متن تب هام فارسی باشه

لطف میکنید مراحل رو قدم به قدم توضیح بدین گمونم مشکل خیلی بچه ها باشه. تایپ فارسی

نظرات

کاشی زاده 10 سال پیش
کار خاصی نیاز نیست بکنید طبق اموزش استاد متون فارسی رو به برنامه اضافه کنید.

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