آموزش برنامه نویسی اندروید (Android)
دسته بندی ( ۴۸۲ آموزش )
نمایش دسته بندی ها (۴۸۲ آموزش)
مباحث اولیه، در برنامه نویسی اندروید
مباحث اولیه، در برنامه نویسی اندروید 28
کار با Activity ها ، در برنامه نویسی اندروید
کار با Activity ها ، در برنامه نویسی اندروید 21
طراحی فایل های xml متناظر با Activity ها و ... (لایه گرافیکی Activity ها و ...)، در برنامه نویسی اندروید
طراحی فایل های xml متناظر با Activity ها و ... (لایه گرافیکی Activity ها و ...)، در برنامه نویسی اندروید 11
کار با برنامه Eclipse (یا همان ADT Bundle)، در برنامه نویسی اندروید
کار با برنامه Eclipse (یا همان ADT Bundle)، در برنامه نویسی اندروید 11
خطاهای رایج در برنامه Eclipse و در برنامه نویسی اندروید
خطاهای رایج در برنامه Eclipse و در برنامه نویسی اندروید 10
کار با برنامه Android Studio ، در برنامه نویسی اندروید
کار با برنامه Android Studio ، در برنامه نویسی اندروید 9
خطاهای رایج در برنامه Android Studio و در برنامه نویسی اندروید
خطاهای رایج در برنامه Android Studio و در برنامه نویسی اندروید 3
تبدیل متغیرها و سایر تبدیل ها، در برنامه نویسی اندروید
تبدیل متغیرها و سایر تبدیل ها، در برنامه نویسی اندروید 9
نمایش عکس و کار با ImageView ، در برنامه نویسی اندروید
نمایش عکس و کار با ImageView ، در برنامه نویسی اندروید 23
نمایش متن و کار با رشته ها (strings) و TextView ، در برنامه نویسی اندروید
نمایش متن و کار با رشته ها (strings) و TextView ، در برنامه نویسی اندروید 38
ساخت دکمه (Button) ، در برنامه نویسی اندروید
ساخت دکمه (Button) ، در برنامه نویسی اندروید 7
ساخت لیست (فهرست) با ListView ، در برنامه نویسی اندروید
ساخت لیست (فهرست) با ListView ، در برنامه نویسی اندروید 12
ساخت EditText، در برنامه نویسی اندروید
ساخت EditText، در برنامه نویسی اندروید 6
مجموعه ویدئوهای آموزش طراحی متریال (Material Design)، در برنامه نویسی اندروید
مجموعه ویدئوهای آموزش طراحی متریال (Material Design)، در برنامه نویسی اندروید 13
طراحی متریال (Material Design)، در برنامه نویسی اندروید
طراحی متریال (Material Design)، در برنامه نویسی اندروید 3
پخش موسیقی، در برنامه نویسی اندروید
پخش موسیقی، در برنامه نویسی اندروید 5
نمایش انیمیشن، در برنامه نویسی اندروید
نمایش انیمیشن، در برنامه نویسی اندروید 3
تغییر ویژگی های کلی برنامه اندروید
تغییر ویژگی های کلی برنامه اندروید 3
ذخیره اطلاعات با SharedPreferences ، در برنامه نویسی اندروید
ذخیره اطلاعات با SharedPreferences ، در برنامه نویسی اندروید 2
پایگاه داده (SQLite Database)، در برنامه نویسی اندروید
پایگاه داده (SQLite Database)، در برنامه نویسی اندروید 10
تبادل اطلاعات بین برنامه اندروید و سرور اینترنتی (اینترنت)، در برنامه نویسی اندروید
تبادل اطلاعات بین برنامه اندروید و سرور اینترنتی (اینترنت)، در برنامه نویسی اندروید 21
نمایش یک صفحه اینترنتی یا کدهای HTML (کار با WebView) و ساخت لینک، در برنامه نویسی اندروید
نمایش یک صفحه اینترنتی یا کدهای HTML (کار با WebView) و ساخت لینک، در برنامه نویسی اندروید 8
حلقه ها (for و while و ...)، در برنامه نویسی اندروید
حلقه ها (for و while و ...)، در برنامه نویسی اندروید 2
نمایش پیام به کاربر (Dialog و AlertDialog و Toast و Notification و ...)، در برنامه نویسی اندروید
نمایش پیام به کاربر (Dialog و AlertDialog و Toast و Notification و ...)، در برنامه نویسی اندروید 11
ویژگی های صفحه نمایش و چرخش آن، در برنامه نویسی اندروید
ویژگی های صفحه نمایش و چرخش آن، در برنامه نویسی اندروید 10
به دست آوردن ویژگی های کلی برنامه اندروید، در برنامه نویسی اندروید
به دست آوردن ویژگی های کلی برنامه اندروید، در برنامه نویسی اندروید 4
به دست آوردن ویژگی های گوشی کاربر، در برنامه نویسی اندروید
به دست آوردن ویژگی های گوشی کاربر، در برنامه نویسی اندروید 5
بازی سازی، در برنامه نویسی اندروید
بازی سازی، در برنامه نویسی اندروید 1
به اشتراک گذاری (share)، در برنامه نویسی اندروید
به اشتراک گذاری (share)، در برنامه نویسی اندروید 5
کار با فایل ها و فولدرها در حافظه خارجی (External Storage)، در برنامه نویسی اندروید
کار با فایل ها و فولدرها در حافظه خارجی (External Storage)، در برنامه نویسی اندروید 15
کار با پوشه های raw و assets ، در برنامه نویسی اندروید
کار با پوشه های raw و assets ، در برنامه نویسی اندروید 2
عملیات های ریاضی، در برنامه نویسی اندروید
عملیات های ریاضی، در برنامه نویسی اندروید 13
کار با دوربین (Camera)، در برنامه نویسی اندروید
کار با دوربین (Camera)، در برنامه نویسی اندروید 3
کار با action bar ، در برنامه نویسی اندروید
کار با action bar ، در برنامه نویسی اندروید 4
کار با کلاس ها (class) ، در برنامه نویسی اندروید
کار با کلاس ها (class) ، در برنامه نویسی اندروید 4
کار با package ها ، در برنامه نویسی اندروید
کار با package ها ، در برنامه نویسی اندروید 2
نرم افزارهای شبیه ساز برای اجرای برنامه های اندروید بر روی سیستم عامل کامپیوتر (مثل ویندوز)
نرم افزارهای شبیه ساز برای اجرای برنامه های اندروید بر روی سیستم عامل کامپیوتر (مثل ویندوز) 2
امنیت، در برنامه نویسی اندروید
امنیت، در برنامه نویسی اندروید 1
Thread ها، در برنامه نویسی اندروید
Thread ها، در برنامه نویسی اندروید 3
سرویس ها (Service)، در برنامه نویسی اندروید
سرویس ها (Service)، در برنامه نویسی اندروید 9
BroadcastReceiver ، در برنامه نویسی اندروید
BroadcastReceiver ، در برنامه نویسی اندروید 0
تاریخ و زمان و تمامی موارد مرتبط با زمان (عملیات های زمان بندی شده و ...)، در برنامه نویسی اندروید
تاریخ و زمان و تمامی موارد مرتبط با زمان (عملیات های زمان بندی شده و ...)، در برنامه نویسی اندروید 11
AsyncTask ، در برنامه نویسی اندروید
AsyncTask ، در برنامه نویسی اندروید 2
آرایه ها (Arrays)، در برنامه نویسی اندروید
آرایه ها (Arrays)، در برنامه نویسی اندروید 3
لیست آرایه ای (ArrayList)، در برنامه نویسی اندروید
لیست آرایه ای (ArrayList)، در برنامه نویسی اندروید 6
رنگ ها (Colors)، در برنامه نویسی اندروید
رنگ ها (Colors)، در برنامه نویسی اندروید 3
Fragment ها و Tab بندی، در برنامه نویسی اندروید
Fragment ها و Tab بندی، در برنامه نویسی اندروید 8
معرفی کتابخانه ها (Libraries)، در برنامه نویسی اندروید
معرفی کتابخانه ها (Libraries)، در برنامه نویسی اندروید 1
ساخت ProgressDialog یا ProgressBar برای نمایش میزان پیشرفت اجرای یک سری عملیات، در برنامه نویسی اندروید
ساخت ProgressDialog یا ProgressBar برای نمایش میزان پیشرفت اجرای یک سری عملیات، در برنامه نویسی اندروید 3
نسخه اندروید (Android version) و API level (نسخه API) ، در برنامه نویسی اندروید
نسخه اندروید (Android version) و API level (نسخه API) ، در برنامه نویسی اندروید 1
لرزاندن گوشی (vibrate)، در برنامه نویسی اندروید
لرزاندن گوشی (vibrate)، در برنامه نویسی اندروید 2
پرداخت درون برنامه ای، در برنامه نویسی اندروید
پرداخت درون برنامه ای، در برنامه نویسی اندروید 1
 پروژه های اندروید Open Source کاربران کلیدستان
پروژه های اندروید Open Source کاربران کلیدستان 2
ساخت امکانات جانبی (جستجو، لیست علاقه مندی، لوگو، منو و ...) برای برنامه اندروید
ساخت امکانات جانبی (جستجو، لیست علاقه مندی، لوگو، منو و ...) برای برنامه اندروید 5
مباحث عمومی، در برنامه نویسی اندروید
مباحث عمومی، در برنامه نویسی اندروید 35

قرار دادن تعدادی دکمه (Button)(تعدادی item) در action bar برای رفتن به Activity های مختلف برنامه اندروید، در برنامه نویسی اندروید

در این مبحث قصد داریم که چگونگی قرار دادن چند دکمه در action bar برنامه اندروید را شرح بدهیم. کاربر با اشاره بر روی هر یک از این دکمه ها (تعدادی item)(Button) به یک Activity خاص منتقل خواهد شد.

بنابراین یک پروژه اندروید می سازیم که دارای یک Activity اصلی و سه Activity دیگر باشد. همچنین در action bar آن، سه دکمه قرار می دهیم که با اشاره بر روی هر کدام از آنها، کاربر به یکی از آن سه Activity منتقل شود.

قرار دادن تعدادی دکمه (Button)(تعدادی item) در action bar برای رفتن به Activity های مختلف برنامه اندروید، در برنامه نویسی اندروید

فایل های پروژه اندروید و همچنین فایل apk ساخته شده از آن را می توانید از لینک موجود در انتهای مبحث، دانلود نمایید.

نام پروژه اندروید را برابر ActionBar3Button انتخاب کرده ایم (نام package برابر com.kelidestan.actionbar3button انتخاب شده است. نام activity اصلی را برابر MainActivity.java انتخاب کرده ایم و فایل xml متناظر آن را هم برابر activity_main.xml قرار داده ایم). همچنین سه Activity با نام های Activity_1 و Activity_2 و Activity_3 نیز برای پروژه اندروید ساخته ایم :

قرار دادن تعدادی دکمه (Button)(تعدادی item) در action bar برای رفتن به Activity های مختلف برنامه اندروید، در برنامه نویسی اندروید

برای هر Activity ، یک فایل xml متناظر داریم که ظاهر گرافیکی آن Activity را تعیین می کند (در پوشه layout). اما علاوه بر این، باید یک فایل xml نیز بسازیم که در آن، ساختار گرافیکی action bar را تعیین کنیم و به وسیله آن، سه دکمه (Button) را در action bar قرار بدهیم. برای این منظور، یک فایل با نام menu.xml در پوشه menu می سازیم (یک وقت به اشتباه، آن را در پوشه layout نسازید !) :

قرار دادن تعدادی دکمه (Button)(تعدادی item) در action bar برای رفتن به Activity های مختلف برنامه اندروید، در برنامه نویسی اندروید

مشاهده می کنید که خود برنامه eclipse ، به طور خودکار، برای منوی (menu) هر Activity ، یک فایل در پوشه menu ساخته است. در صورت تمایل، می توانید آنها را حذف کنید.

قبل از اینکه بگوییم که کدهای menu.xml به چه صورت نوشته شوند، بهتر است که ابتدا رشته ها (string) و عکس های لازم برای برنامه اندروید را بیان کنیم. همان طور که گفتیم، قرار است که سه دکمه (Button) در action bar برنامه اندروید قرار بدهیم، بنابراین به 3 عکس نیاز داریم، بنابراین در پوشه drawable-hdpi از برنامه اندروید، سه عکس با نام های image_1 و image_2 و image_3 را قرار می دهیم :

قرار دادن تعدادی دکمه (Button)(تعدادی item) در action bar برای رفتن به Activity های مختلف برنامه اندروید، در برنامه نویسی اندروید
نکته

همان طور که مشاهده کردید، بنده عکس مربوط به دکمه ها (Button) را تنها در پوشه drawable-hdpi از پروژه اندروید قرار دادم، در صورتیکه ما برای گوشی های با رزولوشن های مختلف، پوشه های drawable با نام های مختلفی را در پروژه اندروید داریم. بنده در این پروژه، تنها برای سادگی، در یک پوشه عکس ها را قرار می دهم، اما شما برای پروژه اندروید خود، بهتر است که یکسان نمایش داده شدن برنامه اندروید در گوشی های با اندازه صفحه نمایش مختلف و همچنین میزان رزولوشن مختلف را در نظر بگیرید. در غیر این صورت، مثلا ممکن است که اندازه صفحه نمایش یک گوشی (و یا رزولوشن آن)، آن قدر کم باشد که تنها دو دکمه از سه دکمه در action bar نمایش داده شود. این موارد را با آزمایش برنامه اندروید خود بر روی گوشی های مختلف (و یا با شبیه سازها)، آزمایش کنید. نکات بیشتر در این زمینه را می توانید در کلید شماره 239 بخوانید. البته خود برنامه اندروید این قابلیت را دارد که تعیین کنیم که اگر فضای (Room) کافی برای همه مواردی که در action bar تعیین می کنیم، نبود، آنگاه تعدادی از آنها را نمایش ندهد، این مسئله را در ادامه این مبحث و با شرح مشخصه showAsAction برای هر item در action bar ، بیشتر توضیح خواهیم داد.

در برنامه اندروید، قصد داریم که تعدادی متن در Activity ها نمایش داده شود و همچنین برای دکمه هایی (Button) که در action bar قرار داده می شوند، عنوان هایی (به صورت متن) را باید تعیین کنیم. بنابراین باید تعدادی رشته (متن - string) را در فایل strings.xml از پروژه اندروید تعریف کنیم :

قرار دادن تعدادی دکمه (Button)(تعدادی item) در action bar برای رفتن به Activity های مختلف برنامه اندروید، در برنامه نویسی اندروید

بنابراین تعدادی رشته (string) جدید در آن تعریف می کنیم (کدهای آن به صورت زیر خواهد بود) :


<?xml version="1.0" encoding="utf-8"?>
<resources>

    <string name="app_name">ActionBar3Button</string>
    <string name="action_settings">Settings</string>
    <string name="main_text">اکتیویتی اصلی برنامه اندروید</string>
    <string name="title_activity_activity_1">سایت کلیدستان</string>
    <string name="title_activity_activity_2">جستجو</string>
    <string name="title_activity_activity_3">لیست علاقه مندی ها</string>
    <string name="kelidestan_1">کلیدستان</string>
    <string name="kelidestan_2">آموزش برنامه نویسی اندروید در سایت کلیدستان (www.kelidestan.com)</string>
    <string name="favorites_1">علاقه مندی ها</string>
    <string name="favorites_2">نمایش لیست علاقه مندی ها</string>
    <string name="search_1">جستجو</string>
    <string name="search_2">نمایش قسمت جستجو</string>

</resources>
نکته

در action bar ، علاوه بر نمایش سه دکمه، به طور پیش فرض، آیکون (icon) برنامه اندروید نیز نمایش داده می شود و در کنار این آیکون، در هر Activity از برنامه اندروید که باشیم، عنوان (title) آن Activity نیز به صورت متن نمایش داده خواهد شد. عنوان (title) هر Activity ، به صورت خودکار، هنگام ساخت خود Activity ، در فایل strings.xml تعریف می شود و معمولا نام رشته (string) متناظر با آن، با کلمه title شروع می شود. بنابراین شما بهتر است که عنوان های مربوط به Activity های برنامه را نیز مطابق میل خودتان تغییر بدهید (من این کار را انجام داده ام و نتیجه آن را در کدهای فایل strings.xml می توانید مشاهده کنید).

خوب اکنون که عکس ها و رشته های (string) مورد نیاز برای برنامه اندروید را شرح دادیم، به سراغ فایل menu.xml می رویم. کدهای فایل menu.xml را به صورت زیر می نویسیم (همان فایلی که برای action bar ، باید چگونگی قرارگیری سه دکمه را در آن تعیین کنیم) :


<?xml version="1.0" encoding="utf-8"?>
<menu xmlns:android="http://schemas.android.com/apk/res/android" >
    <item
        android:id="@+id/itemKelidestan"
        android:icon="@drawable/image_3"
        android:showAsAction="ifRoom|withText"
        android:title="@string/kelidestan_1">
    </item>
    <item
        android:id="@+id/itemSearch"
        android:icon="@drawable/image_2"
        android:showAsAction="ifRoom|withText"
        android:title="@string/search_1">
    </item>
    <item
        android:id="@+id/itemFavorites"
        android:icon="@drawable/image_1"
        android:showAsAction="ifRoom|withText"
        android:title="@string/favorites_1">
    </item>    
</menu>

مشاهده می کنید که در آن، با تگهای item ، سه مورد را تعریف کرده ایم که هر کدام برای یکی از دکمه های (Button) مورد نظرمان می باشد. با مشخصه id ، یک id برای آنها تعریف کرده ایم. مشخصه icon ، تصویری را تعیین کرده است که باید برای هر یک از دکمه ها (Button) نمایش داده شود. مشخصه title نیز مربوط به تعیین یک عنوان (title) به صورت رشته (متن - string) برای هر یک از آنها می باشد.

مشخصه showAsAction اهمیت زیادی دارد. اگر دقت کرده باشید، آن را به صورت زیر تعیین کرده ایم :


android:showAsAction="ifRoom|withText"

بنابراین موارد ifRoom و withText برای آن تعیین شده است. این مشخصه، برای این است که تعیین کنیم که item تعریف شده برای action bar ، در چه مواقعی و به چه صورت نمایش داده شود. بد نیست که در زیر، حالت هایی را برای آن شرح بدهیم :

1- ifRoom :


android:showAsAction="ifRoom"

این مورد، یعنی اگر فضای (Room) کافی برای نمایش item بود، آنگاه نمایش داده شود (اگر فضای کافی برای نمایش آن نبود، نمایش داده نشود و در overflow menu در دسترس باشد). در این موارد بهتر است که ابتدا item های مهم را در ابتدا قرار بدهیم تا اگر قرار است که item ای نمایش داده نشود، item های مهم تر را حتما ببینیم.

2- always :


android:showAsAction="always"

یعنی نیازی به چک کردن وجود داشتن فضای (Room) کافی برای نمایش item نیست و item همیشه نمایش داده شود.

3- withText :


android:showAsAction="withText"

به همراه آیکون (icon) نمایش داده شده برای item ، یک متن (عنوان مربوط به item) نیز در کنار آن نمایش داده می شود (البته شاید برای درست عمل کردن این حالت، نیاز به اجرای یک سری کد دیگر باشد).

بنابراین سه حالت را شرح دادیم (شاید حالت های دیگری نیز وجود داشته باشد، ولی فعلا ما همین سه تا را ذکر کردیم) و در کدها هم، دو تای آنها را به صورت ترکیبی به کار برده ایم، یعنی به صورت زیر :


android:showAsAction="ifRoom|withText"

البته ممکن است که برای حالت withText ، نیاز به نوشتن یک سری کد دیگر باشد تا به درستی عمل کند، ولی فعلا این موارد برایمان اهمیت ندارد و قصدمان تنها معرفی عملکرد آن بود (و همچنین چگونگی به کار بردن ترکیبی دو حالت).

ساختار Activity ها را کاملا ساده در نظر می گیریم که تنها دارای یک TextView باشند که متنی را در آنها نمایش بدهیم تا بتوانیم هر یک را با دیدن متن، تشخیص بدهیم. بنابراین، در ادامه، کدهای مربوط به فایل های xml متناظر با Activity ها را بیان می کنیم (در خود فایل های xml ، رشته لازم برای نمایش در هر TextView را آدرس دهی کرده ایم و بنابراین برای TextView ها، نیازی به نوشتن کدهای java در خود فایل Activity ها نمی باشد).

کدهای فایل activity_main.xml را به صورت زیر می نویسیم :


<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:paddingBottom="@dimen/activity_vertical_margin"
    android:paddingLeft="@dimen/activity_horizontal_margin"
    android:paddingRight="@dimen/activity_horizontal_margin"
    android:paddingTop="@dimen/activity_vertical_margin"
    tools:context=".MainActivity" >

    <TextView
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:text="@string/main_text"
        android:textSize="20sp" />

</RelativeLayout>

کدهای فایل activity_1.xml را به صورت زیر می نویسیم :


<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:paddingBottom="@dimen/activity_vertical_margin"
    android:paddingLeft="@dimen/activity_horizontal_margin"
    android:paddingRight="@dimen/activity_horizontal_margin"
    android:paddingTop="@dimen/activity_vertical_margin"
    tools:context=".MainActivity" >

    <TextView
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:text="@string/kelidestan_2"
        android:textSize="20sp" />

</RelativeLayout>

کدهای فایل activity_2.xml را به صورت زیر می نویسیم :


<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:paddingBottom="@dimen/activity_vertical_margin"
    android:paddingLeft="@dimen/activity_horizontal_margin"
    android:paddingRight="@dimen/activity_horizontal_margin"
    android:paddingTop="@dimen/activity_vertical_margin"
    tools:context=".MainActivity" >

    <TextView
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:text="@string/search_2"
        android:textSize="20sp" />

</RelativeLayout>

کدهای فایل activity_3.xml را به صورت زیر می نویسیم :


<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:paddingBottom="@dimen/activity_vertical_margin"
    android:paddingLeft="@dimen/activity_horizontal_margin"
    android:paddingRight="@dimen/activity_horizontal_margin"
    android:paddingTop="@dimen/activity_vertical_margin"
    tools:context=".MainActivity" >

    <TextView
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:text="@string/favorites_2"
        android:textSize="20sp" />

</RelativeLayout>

بنابراین با این فایل های xml ، ظاهر گرافیکی Activity ها را مشخص کردیم و حالا باید برویم به سراغ کدهای خود Activity ها (فایل های java).

نکته

هر Activity که می خواهیم در action bar آن، item های تعریف شده در فایل menu.xml نمایش داده شوند، باید یک سری کد در آن نوشته شود و به فایل menu.xml ارجاع بدهیم. بنابراین می توانیم که action bar هر Activity را به شکلی دلخواه طراحی کنیم (که البته با این حات کاری نداریم و قصد داریم که تنها عنوان نمایش داده شده در آنها متفاوت باشد که این تفاوت، به صورت خودکار اعمال می شود).

بنابراین در چهار فایل مربوط به چهار Activity ، باید یک سری کد برای ارجاع به فایل menu.xml و همچنین تعریف عملیات هایی برای اجرا در هنگام اشاره بر روی هر یک از item ها، بنویسیم.

بنابراین بهتر است که ابتدا کدهای مورد نظر را بیان کنیم و بعد آنها را در میان کدهای Activity ها قرار بدهیم. کدها عبارتند از :


@Override
        public boolean onCreateOptionsMenu(Menu menu) {
                        // TODO Auto-generated method stub
                        MenuInflater inflater = getMenuInflater();
                    inflater.inflate(R.menu.menu, menu);
                    return true;
        }
         
        @Override
        public boolean onOptionsItemSelected(MenuItem item) {
                // TODO Auto-generated method stub
                switch (item.getItemId()) {
                case R.id.itemKelidestan:
                        //do something when this button is pressed
                        startActivity(new Intent(this, Activity_1.class));     
                        return true;
                case R.id.itemSearch:
                        //do something when this button is pressed
                        startActivity(new Intent(this, Activity_2.class));
                        return true;
                case R.id.itemFavorites:
                        //do something when this button is pressed
                        startActivity(new Intent(this, Activity_3.class));
                        return true;
                default:
                        return true;
                }      
        }

همان طور که مشاهده می کنید، در کدها، onCreateOptionsMenu و onOptionsItemSelected را به کار برده ایم. کدهای onCreateOptionsMenu به صورت زیر می باشند :


@Override
        public boolean onCreateOptionsMenu(Menu menu) {
                        // TODO Auto-generated method stub
                        MenuInflater inflater = getMenuInflater();
                    inflater.inflate(R.menu.menu, menu);
                    return true;
        }

که در آن، با عبارت R.menu.menu ، به فایل menu.xml که در پوشه menu ساختیم، اشاره کرده ایم.

و اما کدهای onOptionsItemSelected که مربوط به اجرای یک سری کد، بعد از اشاره کاربر بر روی هر یک از item ها در action bar می باشد :


@Override
        public boolean onOptionsItemSelected(MenuItem item) {
                // TODO Auto-generated method stub
                switch (item.getItemId()) {
                case R.id.itemKelidestan:
                        //do something when this button is pressed
                        startActivity(new Intent(this, Activity_1.class));     
                        return true;
                case R.id.itemSearch:
                        //do something when this button is pressed
                        startActivity(new Intent(this, Activity_2.class));
                        return true;
                case R.id.itemFavorites:
                        //do something when this button is pressed
                        startActivity(new Intent(this, Activity_3.class));
                        return true;
                default:
                        return true;
                }      
        }

همان طور که مشاهده می کنید، هر یک از item ها را به صورت یک حالت (مورد case) شناسایی کرده ایم و بعد تعیین کرده ایم که اگر بر روی آن item اشاره شود، چه کدهایی باید اجرا شوند. مثلا برای item با id برابر itemKelidestan ، کدهای زیر را نوشته ایم :


case R.id.itemKelidestan:
    //do something when this button is pressed
    startActivity(new Intent(this, Activity_1.class)); 
    return true;

ابتدا این item را با عبارت R.id.itemKelidestan شناسایی کرده (مشخص کرده ایم) و بعد تعیین کرده ایم که در صورت اشاره بر روی آن، کد زیر اجرا شود :


startActivity(new Intent(this, Activity_1.class));

کد بالا باعث می شود که کاربر به Activity با نام Activity_1 منتقل شود.

کدها برای دو item دیگر نیز مشابه می باشد و تنها Activity متفاوتی را برای هر یک از آنها مشخص کرده ایم.

پس قرار شد که این کد را در تک تک Activity ها قرار بدهیم. بنابراین کدهای فایل MainActivity.java به صورت زیر خواهد بود :


package com.kelidestan.actionbar3button;

import android.app.Activity;
import android.content.Intent;
import android.os.Bundle;
import android.view.Menu;
import android.view.MenuInflater;
import android.view.MenuItem;

public class MainActivity extends Activity {

        @Override
        protected void onCreate(Bundle savedInstanceState) {
                super.onCreate(savedInstanceState);
                setContentView(R.layout.activity_main);
        }

        @Override
        public boolean onCreateOptionsMenu(Menu menu) {
                        // TODO Auto-generated method stub
                        MenuInflater inflater = getMenuInflater();
                    inflater.inflate(R.menu.menu, menu);
                    return true;
        }
         
        @Override
        public boolean onOptionsItemSelected(MenuItem item) {
                // TODO Auto-generated method stub
                switch (item.getItemId()) {
                case R.id.itemKelidestan:
                        //do something when this button is pressed
                        startActivity(new Intent(this, Activity_1.class));     
                        return true;
                case R.id.itemSearch:
                        //do something when this button is pressed
                        startActivity(new Intent(this, Activity_2.class));
                        return true;
                case R.id.itemFavorites:
                        //do something when this button is pressed
                        startActivity(new Intent(this, Activity_3.class));
                        return true;
                default:
                        return true;
                }      
        }

}

کدهای فایل Activity_1.java به صورت زیر می باشد :


package com.kelidestan.actionbar3button;

import android.os.Bundle;
import android.app.Activity;
import android.content.Intent;
import android.view.Menu;
import android.view.MenuInflater;
import android.view.MenuItem;

public class Activity_1 extends Activity {

        @Override
        protected void onCreate(Bundle savedInstanceState) {
                super.onCreate(savedInstanceState);
                setContentView(R.layout.activity_1);
        }

        @Override
        public boolean onCreateOptionsMenu(Menu menu) {
                        // TODO Auto-generated method stub
                        MenuInflater inflater = getMenuInflater();
                    inflater.inflate(R.menu.menu, menu);
                    return true;
        }
         
        @Override
        public boolean onOptionsItemSelected(MenuItem item) {
                // TODO Auto-generated method stub
                switch (item.getItemId()) {
                case R.id.itemKelidestan:
                        //do something when this button is pressed
                        startActivity(new Intent(this, Activity_1.class));     
                        return true;
                case R.id.itemSearch:
                        //do something when this button is pressed
                        startActivity(new Intent(this, Activity_2.class));
                        return true;
                case R.id.itemFavorites:
                        //do something when this button is pressed
                        startActivity(new Intent(this, Activity_3.class));
                        return true;
                default:
                        return true;
                }      
        }

}

کدهای فایل Activity_2.java به صورت زیر می باشد :


package com.kelidestan.actionbar3button;

import android.os.Bundle;
import android.app.Activity;
import android.content.Intent;
import android.view.Menu;
import android.view.MenuInflater;
import android.view.MenuItem;

public class Activity_2 extends Activity {

        @Override
        protected void onCreate(Bundle savedInstanceState) {
                super.onCreate(savedInstanceState);
                setContentView(R.layout.activity_2);
        }

        @Override
        public boolean onCreateOptionsMenu(Menu menu) {
                        // TODO Auto-generated method stub
                        MenuInflater inflater = getMenuInflater();
                    inflater.inflate(R.menu.menu, menu);
                    return true;
        }
         
        @Override
        public boolean onOptionsItemSelected(MenuItem item) {
                // TODO Auto-generated method stub
                switch (item.getItemId()) {
                case R.id.itemKelidestan:
                        //do something when this button is pressed
                        startActivity(new Intent(this, Activity_1.class));     
                        return true;
                case R.id.itemSearch:
                        //do something when this button is pressed
                        startActivity(new Intent(this, Activity_2.class));
                        return true;
                case R.id.itemFavorites:
                        //do something when this button is pressed
                        startActivity(new Intent(this, Activity_3.class));
                        return true;
                default:
                        return true;
                }      
        }

}

کدهای فایل Activity_3.java به صورت زیر می باشد :


package com.kelidestan.actionbar3button;

import android.os.Bundle;
import android.app.Activity;
import android.content.Intent;
import android.view.Menu;
import android.view.MenuInflater;
import android.view.MenuItem;

public class Activity_3 extends Activity {

        @Override
        protected void onCreate(Bundle savedInstanceState) {
                super.onCreate(savedInstanceState);
                setContentView(R.layout.activity_3);
        }

        @Override
        public boolean onCreateOptionsMenu(Menu menu) {
                        // TODO Auto-generated method stub
                        MenuInflater inflater = getMenuInflater();
                    inflater.inflate(R.menu.menu, menu);
                    return true;
        }
         
        @Override
        public boolean onOptionsItemSelected(MenuItem item) {
                // TODO Auto-generated method stub
                switch (item.getItemId()) {
                case R.id.itemKelidestan:
                        //do something when this button is pressed
                        startActivity(new Intent(this, Activity_1.class));     
                        return true;
                case R.id.itemSearch:
                        //do something when this button is pressed
                        startActivity(new Intent(this, Activity_2.class));
                        return true;
                case R.id.itemFavorites:
                        //do something when this button is pressed
                        startActivity(new Intent(this, Activity_3.class));
                        return true;
                default:
                        return true;
                }      
        }

}

اکنون ساخت پروژه اندروید تمام شده است و من آن را بر روی یک گوشی اندروید واقعی آزمایش می کنم. صفحه اصلی (Activity اصلی) برنامه اندروید به صورت زیر می باشد :

قرار دادن تعدادی دکمه (Button)(تعدادی item) در action bar برای رفتن به Activity های مختلف برنامه اندروید، در برنامه نویسی اندروید

مشاهده می کنید که در action bar ، سه دکمه (سه item) داریم که با اشاره بر روی آنها، به Activity های متفاوتی هدایت می شویم و در آن Activity ها هم باز action bar به همین شکل می باشد و تنها در عنوان (title) با هم تفاوت دارند.

قرار دادن تعدادی دکمه (Button)(تعدادی item) در action bar برای رفتن به Activity های مختلف برنامه اندروید، در برنامه نویسی اندروید
قرار دادن تعدادی دکمه (Button)(تعدادی item) در action bar برای رفتن به Activity های مختلف برنامه اندروید، در برنامه نویسی اندروید
قرار دادن تعدادی دکمه (Button)(تعدادی item) در action bar برای رفتن به Activity های مختلف برنامه اندروید، در برنامه نویسی اندروید

فایل های پروژه اندروید را می توانید از لینک های زیر دریافت کنید :




نویسنده علیرضا گلمکانی
شماره کلید 2657
گزینه ها
به اشتراک گذاری (Share) در شبکه های اجتماعی
نظرات 16 16 0
مبینا
۱۳۹۵/۰۳/۲۷
۰۶:۴۱

ممنون از توضیحات خوبتون من می خوام یه EditText  در menu قرار بدم منتها نمی دونم باید چه جوری قرار بدم ممنون می شم راهنماییم کنید....

admin
۱۳۹۵/۰۳/۳۰
۰۰:۴۵

سلام.
کلید زیر را بخوانید :

کلید شماره 6967

علاوه بر آن، به عنوان یک مورد پیشرفته تر، لینک زیر را ببینید :

http://javapapers.com/android/android-se...-tutorial/

Flower

hossein73.z
۱۳۹۵/۰۴/۱۶
۱۵:۳۱

با عرض سلام.

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

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

برای آبتمم از آیکون استفاده نکردم، فقط یه متن فارسی، فقط هم یک آیتم (فعلا).

ممنون میشم راهنمایی کنید.

مسلم
۱۳۹۵/۰۷/۲۵
۱۲:۳۸

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

admin
۱۳۹۵/۰۷/۲۶
۰۷:۳۷

سلام.
باید برای آن Activity ، یک فایل xml دیگر به جای فایل menu.xml که در پوشه menu ساختیم، بسازید و دکمه های مورد نظرتان را در آن تعریف کنید.
سپس باید در Activity مورد نظر، کد زیر که در آموزش به کار بردیم را بر اساس فایل xml جدید و دکمه های تعریف شده در آن، تغییر بدهید :

کد پی‌اچ‌پی:
@Override
public boolean onCreateOptionsMenu(Menu menu) {
 
       // TODO Auto-generated method stub
 
       MenuInflater inflater getMenuInflater();
 
   inflater.inflate(R.menu.menumenu);
 
   return true;
}
 
@
Override
public boolean onOptionsItemSelected(MenuItem item) {
 
   // TODO Auto-generated method stub
 
   switch (item.getItemId()) {
 
   case R.id.itemKelidestan:
 
           //do something when this button is pressed
 
           startActivity(new Intent(thisActivity_1.class));      
            return true
;
 
   case R.id.itemSearch:
 
           //do something when this button is pressed
 
           startActivity(new Intent(thisActivity_2.class));
 
           return true;
 
   case R.id.itemFavorites:
 
           //do something when this button is pressed
 
           startActivity(new Intent(thisActivity_3.class));
 
           return true;
 
   default
 
           return true;
 
         


مثلا در خط زیر از کدها، باید نام فایل xml جدید (عبارت ارجاع به آن - مثلا R.menu.newname) جایگزین R.menu.menu شود :

کد پی‌اچ‌پی:
inflater.inflate(R.menu.menumenu); 

تعریف دکمه ها در کد مورد نظر، باید بر اساس دکمه های تعریف شده در فایل xml جدید، تغییر داده شود.

Flower

saeedfozol
۱۳۹۵/۰۹/۰۹
۱۱:۵۴

سلام خسته نباشید
تو ساخت اکشن بار ی مشکل دارم ممنون میشم کمکم کنید سه روزه لنگ موندم Confused
توی یکی از اکتیویتی هام از کلاس ActionBarActivity ارث بری کردم برای ساخت منوی کشویی. از ی طرف تو آموزش اکشن بار باید اکتیویتی از کلاس Activity مشتق شه ولی من حتما باید از کلاس قبلی که گفتم ارث بری کنم. حالا وقتی از این کلاس استفاده می کنم اکشن بار رو نشون میده
سوالم اینه چطور میتونم هم از منوی کشویی هم از اکشن بار توی ی اکتیویتی استفاده کنم؟
با تشکر از سایت خوبتون

saeedfozol
۱۳۹۵/۰۹/۱۰
۰۰:۰۷

من منتظرم میشه ی کمکی بکنید؟ coffee

admin
۱۳۹۵/۰۹/۱۰
۱۳:۴۶

سلام.
می دانم تغییر Activity به ActionBarActivity را انجام داده اید، ولی بنده برای سایر کاربران، از ابتدا مراحل را شرح می دهم.
چون می خواهیم از کلاس ActionBarActivity استفاده کنیم، باید یکی از کتابخانه های android support appcompat را به عنوان کتابخانه (library) به پروژه اندروید اضافه کنیم (کلید شماره 847 - در Eclipse). مثلا بنده برای تست، کتابخانه android-support-v7-appcompat را به پروژه اندروید اضافه کردم.
سپس به عنوان مثال، می خواهیم MainActivity.java را از Activity به ActionBarActivity تغییر بدهیم. بنابراین باید در خط زیر از کدهای آن، عبارت Activity به ActionBarActivity تغییر داده شود :




کد پی‌اچ‌پی:
public class MainActivity extends Activity 


یعنی کد بالا به کد زیر تبدیل می شود :

کد پی‌اچ‌پی:
public class MainActivity extends ActionBarActivity 


سپس کلیدهای Ctrl و Shif و O (حرف او انگلیسی، نه صفر) را به صورت همزمان می زنیم تا package های لازم (کلاس های لازم) وارد شوند (import شوند).
بنابراین کدهای نهایی به صورت زیر خواهد بود :

کد پی‌اچ‌پی:
package com.kelidestan.actionbar3button;

import android.content.Intent;
import android.os.Bundle;
import android.support.v7.app.ActionBarActivity;
import android.view.Menu;
import android.view.MenuInflater;
import android.view.MenuItem;

public class 
MainActivity extends ActionBarActivity {

    @
Override
    
protected void onCreate(Bundle savedInstanceState) {
        
super.onCreate(savedInstanceState);
        
setContentView(R.layout.activity_main);
    }

    @
Override
    
public boolean onCreateOptionsMenu(Menu menu) {
            
// TODO Auto-generated method stub
            
MenuInflater inflater getMenuInflater();
         
   inflater.inflate(R.menu.menumenu);
         
   return true;
    }
     
    @
Override
    
public boolean onOptionsItemSelected(MenuItem item) {
        
// TODO Auto-generated method stub
        
switch (item.getItemId()) {
        case 
R.id.itemKelidestan:
            
//do something when this button is pressed
            
startActivity(new Intent(thisActivity_1.class));    
            return 
true;
        case 
R.id.itemSearch:
            
//do something when this button is pressed
            
startActivity(new Intent(thisActivity_2.class));
            return 
true;
        case 
R.id.itemFavorites:
            
//do something when this button is pressed
            
startActivity(new Intent(thisActivity_3.class));
            return 
true;
        default: 
            return 
true;
        }    
    }




علاوه بر تغییر بالا، برای اینکه برنامه اندروید بدون خطا اجرا شود، باید Theme برنامه اندروید را هم به یک Theme مناسب تغییر دهیم. برای این منظور، در فایل AndroidManifest.xml ، در کدهای تگ application ، مشخصه android:theme را به صورت زیر تعیین می کنیم :

کد پی‌اچ‌پی:
android:theme="@style/Theme.AppCompat" 

یعنی کد کامل تگ application ، مشابه کد زیر خواهد بود :

کد پی‌اچ‌پی:
<application
        android
:allowBackup="true"
 
       android:icon="@drawable/ic_launcher"
 
       android:label="@string/app_name"
 
       android:theme="@style/Theme.AppCompat" 

تا اینجا، پروژه اندروید بدون خطا اجرا می شود. اما در اجرای MainActivity.java ، سه دکمه را در Action Bar مشاهده نمی کنیم (اما اگر دکمه Menu گوشی را بزنیم، آنها را خواهیم دید). اکنون برای رفع این مشکل، باید بر اساس راهنمایی لینک زیر اقدام نماییم :

http://stackoverflow.com/questions/17881...menu-shows

یعنی فایل memu.xml که در آن، دکمه هایی که باید در Action Bar نمایش داده شوند را تعریف کرده ایم، را باز کرده و کدهای آن را به صورت زیر تغییر می دهیم :

کد پی‌اچ‌پی:
<?xml version="1.0" encoding="utf-8"?>
<menu
  xmlns:android="http://schemas.android.com/apk/res/android"
  xmlns:yourapp="http://schemas.android.com/apk/res-auto" >
    <item
        android:id="@+id/itemKelidestan"
        android:icon="@drawable/image_3"
        yourapp:showAsAction="always"
        android:title="@string/kelidestan_1">
    </item>
    <item
        android:id="@+id/itemSearch"
        android:icon="@drawable/image_2"
        yourapp:showAsAction="always"
        android:title="@string/search_1">
    </item>
    <item
        android:id="@+id/itemFavorites"
        android:icon="@drawable/image_1"
        yourapp:showAsAction="always"
        android:title="@string/favorites_1">
    </item>    
</menu> 


در کدهای بالا، خط زیر مهم است :

کد پی‌اچ‌پی:
xmlns:yourapp="http://schemas.android.com/apk/res-auto" 

که در آن، نام yourapp انتخاب شده است و سپس برای ویژگی های هر دکمه، بر اساس این نام انتخاب شده، کد زیر را نوشته ایم :

کد پی‌اچ‌پی:
yourapp:showAsAction="always" 

موارد بالا برای حالتی بود که بخواهیم حتما دکمه ها نمایش داده شوند.
توصیه بنده این است که برنامه را برای گوشی های با عرض مختلف تست کنید و سپس بهترین حالت را برای نمایش دکمه های Action Bar انتخاب کنید.

Flower

saeedfozol
۱۳۹۵/۰۹/۱۰
۱۴:۲۱

ینی عاشقتم مدیر جون  Heart Heart Heart Heart Heart Heart
مرسی

مصطفی دانشور
۱۳۹۵/۱۲/۰۴
۲۳:۴۳

سلام و درود بر مدیر عزیز و همکارانشان
یک سوال داشتم...
واسه اسکرول کردن دکمه ها در تولبار باید چکار کنم

روش اسکرول تو اکتیویتی رو بلدم...اما داخل تولبار بدون هیچ اروری وقتی اجرا میگیرم دکمه هام اسکرول نمیشه
[عکس: smiley_101.png]
اینم کد هام...

کد پی‌اچ‌پی:
<?xml version="1.0" encoding="utf-8"?>

<RelativeLayout xmlns:app="http://schemas.android.com/apk/res-auto"
    xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="fill_parent"
    android:layout_height="100dp"
    android:background="@color/colorPrimary"
    android:id="@+id/toolbar">

    <ScrollView xmlns:android="http://schemas.android.com/apk/res/android"
        android:layout_width="fill_parent"
        android:layout_height="fill_parent">

        <LinearLayout
            android:layout_width="match_parent"
            android:layout_height="wrap_content">
            <Button
                android:id="@+id/button1"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:text="@string/tollbarbtn1"
                android:background="@color/colorPrimary"
                android:textColor="@color/colorbtn"/>

            <Button
                android:id="@+id/button2"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:text="@string/tollbarbtn2"
                android:background="@color/colorPrimary"
                android:textColor="@color/colorbtn"/>

            <Button
                android:id="@+id/button3"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:text="@string/tollbarbtn3"
                android:textColor="@color/colorbtn"
                android:background="@color/colorPrimary"/>

            <Button
                android:id="@+id/button4"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:text="@string/tollbarbtn4"
                android:background="@color/colorPrimary"
                android:textColor="@color/colorbtn"/>

            <Button
                android:id="@+id/button5"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:text="@string/tollbarbtn5" />

            <Button
                android:id="@+id/button6"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:text="Button" />

            <Button
                android:id="@+id/button7"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:text="@string/tollbarbtn6" />

            <Button
                android:id="@+id/button8"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:text="Button" />

            <Button
                android:id="@+id/button11"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:text="Button" />

            <Button
                android:id="@+id/button10"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:text="Button" />

            <Button
                android:id="@+id/button9"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:text="Button" />

        </LinearLayout>

    </ScrollView>

</RelativeLayout> 

مصطفی دانشور
۱۳۹۵/۱۲/۰۵
۱۸:۵۵

خواهشا اگر میشه سریعتر راهنماییم کنید...بدجور لنگم

مهسا گلی
۱۳۹۶/۰۴/۲۲
۱۳:۱۲

سلام من همه این کد ها رو جاگذاری کردم ولی دو تا مشکل  دارم.

یکی اینکه وقتی برنامه رو باز میکنم دکمه ای(یه دکمه بیشتر نیستا) که داخل اکشن بار قرار داده بودم  اصلا نیست ولی تو قسمت  سه نقطه هستش به صورت متن.


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



فکر میکنم از کد هایی بود که جای on option اصلی اکتیویتی  جاگذاری کردم هستش.

خواهش میکنم کمکم کنید.

جعفر
۱۳۹۶/۰۹/۲۸
۱۹:۰۵

این کدها رو جایی که تولبار تعریف شده بگزار در مین اکتیویتی

کد پی‌اچ‌پی:
Toolbar toolbar = (ToolbarfindViewById(R.id.toolbar);
setSupportActionBar(toolbar);
Button b1=new Button(this);
b1.setBackground(getResources().getDrawable(R.drawable.specialx12));
toolbar.addView(b1);

b1.setOnClickListener(new View.OnClickListener() {
   @
Override
   
public void onClick(View view) {
       
startActivity(new Intent(MainActivity.thisbookOzviatvize.class));
   }
}); 

مهسا گلی
۱۳۹۶/۰۴/۳۰
۱۱:۴۸

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

admin
۱۳۹۶/۰۴/۳۱
۱۴:۰۴

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

https://stackoverflow.com/questions/1751...ht-to-left

البته تاکنون بنده آن را آزمایش نکرده ام، بنابراین پس از اجرا، آن را آزمایش کنید و ببینید که مطابق خواست شما می باشد یا خیر.
همان طور که در لینک بالا ذکر شده است، باید مشخصه زیر را در فایل AndroidManifest.xml از پروژه اندروید بنویسید (البته برای api های 17 و بالاتر) (درون تگ application) :

کد پی‌اچ‌پی:
android:supportsRtl="true" 

سپس در Activity های پروژه اندروید، کد زیر را می نویسید (در ابتدای کدهای روش onCreate در Activity) :

کد پی‌اچ‌پی:
forceRTLIfSupported(); 

و همچنین کد زیر را نیز در کدهای Activity بنویسید :

کد پی‌اچ‌پی:
@TargetApi(Build.VERSION_CODES.JELLY_BEAN_MR1)
private 
void forceRTLIfSupported()
{
 
   if(Build.VERSION.SDK_INT >= Build.VERSION_CODES.JELLY_BEAN_MR1){
 
       getWindow().getDecorView().setLayoutDirection(View.LAYOUT_DIRECTION_RTL);
 
   }


Flower

نازنین
۱۳۹۷/۱۱/۰۱
۱۵:۴۵

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

ارسال نظر جدید (بدون نیاز به عضو بودن در وب سایت)

جستجو در کلیدستان، توسط گوگل

جستجو در عنوان کلیدها

دسترسی سریع

کلید
×

شماره کلید


دسته بندی
×

شماره دسته کلید


جستجو
×

جستجو


کلمات کلیدی

راهنمای کلمات کلیدی (کلاس ها، توابع، عناصر و ...) در برنامه نویسی اندروید، بر اساس حرف اول کلمه کلیدی :

A B C D E F G H I J K L M N O P Q R S T U V W X Y Z

developer.android.com