ورود به حساب ثبت نام جدید فراموشی کلمه عبور
برای ورود به حساب کاربری خود، نام کاربری و کلمه عبورتان را در زیر وارد کرده و روی “ ورود به حساب” کلیک کنید.





اگر فرم ثبت نام برای شما نمایش داده نمیشود، اینجا را کلیک کنید.









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





کانال پوش اندروید
اندروید
نمایش نتایج: از 1 به 5 از 5
Like Tree1Likes
  • 1 Post By Hamed Taghipur

موضوع: آموزش منوی کشویی در برنامه نویسی اندروید

  1. #1
    Hamed Taghipur
    مدیر کل انجمن
    http://up.vbiran.ir/images/nrtfq8oe4y3n4ataqsc.pnghttp://up.vbiran.ir/images/x8yx5wzjnfalz1ga8oa8.pnghttp://up.vbiran.ir/images/x8yx5wzjnfalz1ga8oa8.pnghttp://up.vbiran.ir/images/x8yx5wzjnfalz1ga8oa8.pnghttp://up.vbiran.ir/images/x8yx5wzjnfalz1ga8oa8.png
    تاریخ عضویت
    2017/03/02
    محیط
    اندروید استودیو
    محل سکونت
    تهران
    نوشته ها
    48
    0
    15

    آموزش منوی کشویی در برنامه نویسی اندروید

    android-navigation-drawer-activity.jpg

    سلام خدمت دوستان و عزیزان ، کاربران http://android-development.ir در خدمت شما هستم با آموزش ساخت منوی کشویی و همچنین کاربرکردن منوی کشویی در محیط برنامه نویسی Android Stuido ،
    همونطور که میدونید این نوع منو نقش بسیار بسیار بسیار مهمی در گرافیک اپلیکیشن شما داره و میتونه اپلیکیشن شمارو زیباتر کنه . از نمونه های این منو من میتونم به اپلیکیشن تلگرام اشاره کنم که این اپلیکیشن هم از این نوع منو داره استفاده میکنه .

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



    پس از انجام کار بالا پروژه شما ایجاد میشه و ما باید وارد کدنویسی بشیم . قبل از هرچیزی کتابخونه هامون رو چک میکنیم .

    کد Build.gradle باید کتابخانه های زیر در آن وجود داشته باشه .

    کد HTML:
    compile fileTree(dir: 'libs', include: ['*.jar'])    compile 'com.android.support:appcompat-v7:24.0.0-beta1'    compile 'com.android.support:design:24.0.0-beta1'    compile 'com.android.support:support-v4:24.0.0-beta1'     // Glide image library    compile 'com.github.bumptech.glide:glide:3.7.0'
    خب برای مرحله دوم کار وارد آدرس زیر بشید و کدهاشو به شکل زیر تغییر بدید

    res/value/strings.xml, dimens.xml, colors.xml

    کدهای بخش String.xml به شرح زیر هستش

    کد HTML:
    <resources> <string name="app_name">Navigation Drawer</string> <string name="navigation_drawer_open">Open navigation drawer</string> <string name="navigation_drawer_close">Close navigation drawer</string> <string name="openDrawer">open_drawer</string> <string name="closeDrawer">close_drawer</string> <!-- Navigation Drawer menu labels --> <string name="nav_home">Home</string> <string name="nav_photos">Photos</string> <string name="nav_movies">Movies</string> <string name="nav_notifications">Notifications</string> <string name="nav_settings">Settings</string> <string name="nav_about_us">About Us</string> <!-- Toolbar titles when navigation menu item is selected --> <string-array name="nav_item_activity_titles"> <item>Home</item> <item>Photos</item> <item>Movies</item> <item>Notifications</item> <item>Settings</item> </string-array> <string name="activity_title_about_us">About Us</string> <string name="activity_title_privacy_policy">Privacy Policy</string> <string name="action_clear_all">Clear All</string> <string name="action_logout">Logout</string> <string name="action_mark_all_read">Mark All as Read</string> <string name="privacy_policy">Privacy Policy</string></resources>

    کدهای بخش dimens.xml به شرح زیر هستش

    کد HTML:
    <resources> <!-- Default screen margins, per the Android Design guidelines. --> <dimen name="nav_header_vertical_spacing">16dp</dimen> <dimen name="nav_header_height">160dp</dimen> <!-- Default screen margins, per the Android Design guidelines. --> <dimen name="activity_horizontal_margin">16dp</dimen> <dimen name="activity_vertical_margin">16dp</dimen> <dimen name="fab_margin">16dp</dimen> <dimen name="profile_width">75dp</dimen> <dimen name="profile_height">75dp</dimen></resources>
    کدهای color.xml هم به شرح زیر هستش

    کد HTML:
    <?xml version="1.0" encoding="utf-8"?><resources> <color name="colorPrimary">#d32f2f</color> <color name="colorPrimaryDark">#c72c2c</color> <color name="colorAccent">#FFFFFF</color></resources>
    برای مرحله بعدی داخل مسیر res ⇒ menu دوتا فایل xml درست کنید و نامشو بذارید notifications.xml و Main.xml
    کدهاشونم به شکل زیر بنویسید

    کدهای notifications.xml به شرح زیر می باشد

    کد HTML:
    <?xml version="1.0" encoding="utf-8"?><menu xmlns:android="http://schemas.android.com/apk/res/android"    xmlns:app="http://schemas.android.com/apk/res-auto"> <item        android:id="@+id/action_mark_all_read"        android:orderInCategory="100"        android:title="@string/action_mark_all_read"        app:showAsAction="never" /> <item        android:id="@+id/action_clear_notifications"        android:orderInCategory="101"        android:title="@string/action_clear_all"        app:showAsAction="never" /></menu>

    کدهای main.xml هم به شرح زیر می باشد

    کد HTML:
    <?xml version="1.0" encoding="utf-8"?><menu xmlns:android="http://schemas.android.com/apk/res/android"    xmlns:app="http://schemas.android.com/apk/res-auto"> <item        android:id="@+id/action_logout"        android:orderInCategory="100"        android:title="@string/action_logout"        app:showAsAction="never" /></menu>
    ادامه آموزش در پست بعدی
    اگر میخواهی از زندگیت لذت ببری

    خودتو به یک هدف گره بزن ، نه انسان و اشیا



  2. #2
    Hamed Taghipur
    مدیر کل انجمن
    http://up.vbiran.ir/images/nrtfq8oe4y3n4ataqsc.pnghttp://up.vbiran.ir/images/x8yx5wzjnfalz1ga8oa8.pnghttp://up.vbiran.ir/images/x8yx5wzjnfalz1ga8oa8.pnghttp://up.vbiran.ir/images/x8yx5wzjnfalz1ga8oa8.pnghttp://up.vbiran.ir/images/x8yx5wzjnfalz1ga8oa8.png
    تاریخ عضویت
    2017/03/02
    محیط
    اندروید استودیو
    محل سکونت
    تهران
    نوشته ها
    48
    0
    15

    ادامه آموزش

    داخل پوشه other یک کلاس بسازیدو اسمشو بذارید CircleTransform.java

    کدهای این فایل به شرح زیر می باشد


    کد HTML:
    import android.content.Context;import android.graphics.Bitmap;import android.graphics.BitmapShader;import android.graphics.Canvas;import android.graphics.Paint; import com.bumptech.glide.load.engine.bitmap_recycle.BitmapPool;import com.bumptech.glide.load.resource.bitmap.BitmapTransformation; /** * Created by Lincoln on 10/03/16. */public class CircleTransform extends BitmapTransformation {    public CircleTransform(Context context) {        super(context);    }     @Override    protected Bitmap transform(BitmapPool pool, Bitmap toTransform, int outWidth, int outHeight) {        return circleCrop(pool, toTransform);    }     private static Bitmap circleCrop(BitmapPool pool, Bitmap source) {        if (source == null) return null;         int size = Math.min(source.getWidth(), source.getHeight());        int x = (source.getWidth() - size) / 2;        int y = (source.getHeight() - size) / 2;         // TODO this could be acquired from the pool too        Bitmap squared = Bitmap.createBitmap(source, x, y, size, size);         Bitmap result = pool.get(size, size, Bitmap.Config.ARGB_8888);        if (result == null) {            result = Bitmap.createBitmap(size, size, Bitmap.Config.ARGB_8888);        }         Canvas canvas = new Canvas(result);        Paint paint = new Paint();        paint.setShader(new BitmapShader(squared, BitmapShader.TileMode.CLAMP, BitmapShader.TileMode.CLAMP));        paint.setAntiAlias(true);        float r = size / 2f;        canvas.drawCircle(r, r, r, paint);        return result;    }     @Override    public String getId() {        return getClass().getName();    }}
    داخل مسیر res/drawable یک فایل با نام bg_circle.xml بسازید.

    کدهای فایل bg_circle.xml به شرح زیر است .

    کد HTML:
    <?xml version="1.0" encoding="utf-8"?><shape    xmlns:android="http://schemas.android.com/apk/res/android"    android:shape="oval"> <solid        android:color="@color/colorPrimary"/> <size        android:width="120dp"        android:height="120dp"/></shape>
    

    داخل پوشه layout یک فایل با نام menu_dot.xml بسازید.

    کدهاشو به شکل زیر وارد کنید
    کد HTML:
    <?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="match_parent"    android:gravity="center_vertical"    android:orientation="vertical"> <LinearLayout        android:layout_width="6dp"        android:layout_height="6dp"        android:background="@drawable/bg_circle"></LinearLayout> </LinearLayout>

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

    خودتو به یک هدف گره بزن ، نه انسان و اشیا



  3. #3
    Hamed Taghipur
    مدیر کل انجمن
    http://up.vbiran.ir/images/nrtfq8oe4y3n4ataqsc.pnghttp://up.vbiran.ir/images/x8yx5wzjnfalz1ga8oa8.pnghttp://up.vbiran.ir/images/x8yx5wzjnfalz1ga8oa8.pnghttp://up.vbiran.ir/images/x8yx5wzjnfalz1ga8oa8.pnghttp://up.vbiran.ir/images/x8yx5wzjnfalz1ga8oa8.png
    تاریخ عضویت
    2017/03/02
    محیط
    اندروید استودیو
    محل سکونت
    تهران
    نوشته ها
    48
    0
    15

    ادامه آموزش بخش 2

    حالا باید در این قسمت منوی کشویی رو به پروژتون اضافه کنید

    برای اینکار داخل مسیر res ⇒ menu یک فایل با عنوان activity_main_drawer.xml ایجاد کنید و کدهای زیر رو داخلش بریزید.

    کد HTML:
    <?xml version="1.0" encoding="utf-8"?><menu xmlns:android="http://schemas.android.com/apk/res/android"> <group android:checkableBehavior="single"> <item            android:id="@+id/nav_home"            android:icon="@drawable/ic_home_black_24dp"            android:title="@string/nav_home" /> <item            android:id="@+id/nav_photos"            android:icon="@drawable/ic_photo_library_black_24dp"            android:title="@string/nav_photos" /> <item            android:id="@+id/nav_movies"            android:icon="@drawable/ic_local_movies_black_24dp"            android:title="@string/nav_movies" /> <item            android:id="@+id/nav_notifications"            android:icon="@drawable/ic_notifications_black_24dp"            android:title="@string/nav_notifications" /> <item            android:id="@+id/nav_settings"            android:icon="@drawable/ic_settings_black_24dp"            android:title="@string/nav_settings" /> </group> <item android:title="Other"> <menu> <item                android:id="@+id/nav_about_us"                android:title="@string/nav_about_us" /> <item                android:id="@+id/nav_privacy_policy"                android:title="@string/privacy_policy" /> </menu> </item> </menu>

    در مسیر res ⇒ layout یک فایل با نام nav_header_main.xml بسازید و کدهای زیر رو داخلش بذارید


    کد HTML:
    <?xml version="1.0" encoding="utf-8"?><RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"    xmlns:app="http://schemas.android.com/apk/res-auto"    android:id="@+id/view_container"    android:layout_width="match_parent"    android:layout_height="@dimen/nav_header_height"    android:gravity="bottom"    android:orientation="vertical"    android:theme="@style/ThemeOverlay.AppCompat.Dark"> <ImageView        android:id="@+id/img_header_bg"        android:layout_width="match_parent"        android:layout_height="match_parent"        android:scaleType="fitXY"        android:src="@mipmap/ic_launcher" /> <LinearLayout        android:layout_width="wrap_content"        android:layout_height="wrap_content"        android:layout_centerVertical="true"        android:orientation="vertical"        android:padding="@dimen/activity_horizontal_margin"> <ImageView            android:id="@+id/img_profile"            android:layout_width="@dimen/profile_width"            android:layout_height="@dimen/profile_height"            android:paddingTop="@dimen/nav_header_vertical_spacing"            app:srcCompat="@android:drawable/sym_def_app_icon" /> <TextView            android:id="@+id/name"            android:layout_width="match_parent"            android:layout_height="wrap_content"            android:paddingTop="@dimen/nav_header_vertical_spacing"            android:textAppearance="@style/TextAppearance.AppCompat.Body1" /> <TextView            android:id="@+id/website"            android:layout_width="wrap_content"            android:layout_height="wrap_content" /> </LinearLayout></RelativeLayout>
    خب حالا میخوایم Toolbar, FAB رو به پروژمون اضافه کنیم . داخل مسیر res ⇒ layout یک فایل با نام app_bar_main.xml بسازید

    کد HTML:
    <?xml version="1.0" encoding="utf-8"?><android.support.design.widget.CoordinatorLayout xmlns:android="http://schemas.android.com/apk/res/android"    xmlns:app="http://schemas.android.com/apk/res-auto"    xmlns:tools="http://schemas.android.com/tools"    android:layout_width="match_parent"    android:layout_height="match_parent"    android:fitsSystemWindows="true"    tools:context="info.androidhive.navigationdrawer.activity.MainActivity"> <android.support.design.widget.AppBarLayout        android:layout_width="match_parent"        android:layout_height="wrap_content"        android:theme="@style/AppTheme.AppBarOverlay"> <android.support.v7.widget.Toolbar            android:id="@+id/toolbar"            android:layout_width="match_parent"            android:layout_height="?attr/actionBarSize"            android:background="?attr/colorPrimary"            app:popupTheme="@style/AppTheme.PopupOverlay" /> </android.support.design.widget.AppBarLayout> <FrameLayout        android:id="@+id/frame"        android:layout_width="match_parent"        android:layout_height="match_parent"        app:layout_behavior="@string/appbar_scrolling_view_behavior"></FrameLayout> <android.support.design.widget.FloatingActionButton        android:id="@+id/fab"        android:layout_width="wrap_content"        android:layout_height="wrap_content"        android:layout_gravity="bottom|end"        android:layout_margin="@dimen/fab_margin"        app:backgroundTint="@color/colorPrimary"        app:srcCompat="@android:drawable/ic_dialog_email" /> </android.support.design.widget.CoordinatorLayout>
    

    فایل activity_main.xml رو باز کنید و کدهای زیر رو بهش اضافه کنید



    کد HTML:
    <?xml version="1.0" encoding="utf-8"?><android.support.v4.widget.DrawerLayout xmlns:android="http://schemas.android.com/apk/res/android"    xmlns:app="http://schemas.android.com/apk/res-auto"    xmlns:tools="http://schemas.android.com/tools"    android:id="@+id/drawer_layout"    android:layout_width="match_parent"    android:layout_height="match_parent"    android:fitsSystemWindows="true"    tools:openDrawer="start"> <include        layout="@layout/app_bar_main"        android:layout_width="match_parent"        android:layout_height="match_parent" /> <android.support.design.widget.NavigationView        android:id="@+id/nav_view"        android:layout_width="wrap_content"        android:layout_height="match_parent"        android:layout_gravity="start"        android:fitsSystemWindows="true"        app:headerLayout="@layout/nav_header_main"        app:menu="@menu/activity_main_drawer" /> </android.support.v4.widget.DrawerLayout>
    


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

    خودتو به یک هدف گره بزن ، نه انسان و اشیا



  4. #4
    Hamed Taghipur
    مدیر کل انجمن
    http://up.vbiran.ir/images/nrtfq8oe4y3n4ataqsc.pnghttp://up.vbiran.ir/images/x8yx5wzjnfalz1ga8oa8.pnghttp://up.vbiran.ir/images/x8yx5wzjnfalz1ga8oa8.pnghttp://up.vbiran.ir/images/x8yx5wzjnfalz1ga8oa8.pnghttp://up.vbiran.ir/images/x8yx5wzjnfalz1ga8oa8.png
    تاریخ عضویت
    2017/03/02
    محیط
    اندروید استودیو
    محل سکونت
    تهران
    نوشته ها
    48
    0
    15

    ادامه آموزش بخش آخر

    حالا داخل Main Activity.java فایل های زیر رو وارد کنید.

    به همین راحتی


    کد HTML:
    import android.content.Intent;import android.os.Bundle;import android.os.Handler;import android.support.design.widget.FloatingActionButton;import android.support.design.widget.NavigationView;import android.support.design.widget.Snackbar;import android.support.v4.app.Fragment;import android.support.v4.app.FragmentTransaction;import android.support.v4.view.GravityCompat;import android.support.v4.widget.DrawerLayout;import android.support.v7.app.ActionBarDrawerToggle;import android.support.v7.app.AppCompatActivity;import android.support.v7.widget.Toolbar;import android.view.Menu;import android.view.MenuItem;import android.view.View;import android.widget.ImageView;import android.widget.TextView;import android.widget.Toast; import com.bumptech.glide.Glide;import com.bumptech.glide.load.engine.DiskCacheStrategy; import info.androidhive.navigationdrawer.R;import info.androidhive.navigationdrawer.fragment.HomeFragment;import info.androidhive.navigationdrawer.fragment.MoviesFragment;import info.androidhive.navigationdrawer.fragment.NotificationsFragment;import info.androidhive.navigationdrawer.fragment.PhotosFragment;import info.androidhive.navigationdrawer.fragment.SettingsFragment;import info.androidhive.navigationdrawer.other.CircleTransform; public class MainActivity extends AppCompatActivity {     private NavigationView navigationView;    private DrawerLayout drawer;    private View navHeader;    private ImageView imgNavHeaderBg, imgProfile;    private TextView txtName, txtWebsite;    private Toolbar toolbar;    private FloatingActionButton fab;     // urls to load navigation header background image    // and profile image    private static final String urlNavHeaderBg = "http://api.androidhive.info/images/nav-menu-header-bg.jpg";    private static final String urlProfileImg = "https://lh3.googleusercontent.com/eCtE_G34M9ygdkmOpYvCag1vBARCmZwnVS6rS5t4JLzJ6QgQSBquM0nuTsCpLhYbKljoyS-txg";     // index to identify current nav menu item    public static int navItemIndex = 0;     // tags used to attach the fragments    private static final String TAG_HOME = "home";    private static final String TAG_PHOTOS = "photos";    private static final String TAG_MOVIES = "movies";    private static final String TAG_NOTIFICATIONS = "notifications";    private static final String TAG_SETTINGS = "settings";    public static String CURRENT_TAG = TAG_HOME;     // toolbar titles respected to selected nav menu item    private String[] activityTitles;     // flag to load home fragment when user presses back key    private boolean shouldLoadHomeFragOnBackPress = true;    private Handler mHandler;      @Override    protected void onCreate(Bundle savedInstanceState) {        super.onCreate(savedInstanceState);        setContentView(R.layout.activity_main);        toolbar = (Toolbar) findViewById(R.id.toolbar);        setSupportActionBar(toolbar);         mHandler = new Handler();         drawer = (DrawerLayout) findViewById(R.id.drawer_layout);        navigationView = (NavigationView) findViewById(R.id.nav_view);        fab = (FloatingActionButton) findViewById(R.id.fab);         // Navigation view header        navHeader = navigationView.getHeaderView(0);        txtName = (TextView) navHeader.findViewById(R.id.name);        txtWebsite = (TextView) navHeader.findViewById(R.id.website);        imgNavHeaderBg = (ImageView) navHeader.findViewById(R.id.img_header_bg);        imgProfile = (ImageView) navHeader.findViewById(R.id.img_profile);         // load toolbar titles from string resources        activityTitles = getResources().getStringArray(R.array.nav_item_activity_titles);         fab.setOnClickListener(new View.OnClickListener() {            @Override            public void onClick(View view) {                Snackbar.make(view, "Replace with your own action", Snackbar.LENGTH_LONG)                        .setAction("Action", null).show();            }        });         // load nav menu header data        loadNavHeader();         // initializing navigation menu        setUpNavigationView();         if (savedInstanceState == null) {            navItemIndex = 0;            CURRENT_TAG = TAG_HOME;            loadHomeFragment();        }    }     /***     * Load navigation menu header information     * like background image, profile image     * name, website, notifications action view (dot)     */    private void loadNavHeader() {        // name, website        txtName.setText("Ravi Tamada");        txtWebsite.setText("www.androidhive.info");         // loading header background image        Glide.with(this).load(urlNavHeaderBg)                .crossFade()                .diskCacheStrategy(DiskCacheStrategy.ALL)                .into(imgNavHeaderBg);         // Loading profile image        Glide.with(this).load(urlProfileImg)                .crossFade()                .thumbnail(0.5f)                .bitmapTransform(new CircleTransform(this))                .diskCacheStrategy(DiskCacheStrategy.ALL)                .into(imgProfile);         // showing dot next to notifications label        navigationView.getMenu().getItem(3).setActionView(R.layout.menu_dot);    }     /***     * Returns respected fragment that user     * selected from navigation menu     */    private void loadHomeFragment() {        // selecting appropriate nav menu item        selectNavMenu();         // set toolbar title        setToolbarTitle();         // if user select the current navigation menu again, don't do anything        // just close the navigation drawer        if (getSupportFragmentManager().findFragmentByTag(CURRENT_TAG) != null) {            drawer.closeDrawers();             // show or hide the fab button            toggleFab();            return;        }         // Sometimes, when fragment has huge data, screen seems hanging        // when switching between navigation menus        // So using runnable, the fragment is loaded with cross fade effect        // This effect can be seen in GMail app        Runnable mPendingRunnable = new Runnable() {            @Override            public void run() {                // update the main content by replacing fragments                Fragment fragment = getHomeFragment();                FragmentTransaction fragmentTransaction = getSupportFragmentManager().beginTransaction();                fragmentTransaction.setCustomAnimations(android.R.anim.fade_in,                        android.R.anim.fade_out);                fragmentTransaction.replace(R.id.frame, fragment, CURRENT_TAG);                fragmentTransaction.commitAllowingStateLoss();            }        };         // If mPendingRunnable is not null, then add to the message queue        if (mPendingRunnable != null) {            mHandler.post(mPendingRunnable);        }         // show or hide the fab button        toggleFab();         //Closing drawer on item click        drawer.closeDrawers();         // refresh toolbar menu        invalidateOptionsMenu();    }     private Fragment getHomeFragment() {        switch (navItemIndex) {            case 0:                // home                HomeFragment homeFragment = new HomeFragment();                return homeFragment;            case 1:                // photos                PhotosFragment photosFragment = new PhotosFragment();                return photosFragment;            case 2:                // movies fragment                MoviesFragment moviesFragment = new MoviesFragment();                return moviesFragment;            case 3:                // notifications fragment                NotificationsFragment notificationsFragment = new NotificationsFragment();                return notificationsFragment;             case 4:                // settings fragment                SettingsFragment settingsFragment = new SettingsFragment();                return settingsFragment;            default:                return new HomeFragment();        }    }     private void setToolbarTitle() {        getSupportActionBar().setTitle(activityTitles[navItemIndex]);    }     private void selectNavMenu() {        navigationView.getMenu().getItem(navItemIndex).setChecked(true);    }     private void setUpNavigationView() {        //Setting Navigation View Item Selected Listener to handle the item click of the navigation menu        navigationView.setNavigationItemSelectedListener(new NavigationView.OnNavigationItemSelectedListener() {             // This method will trigger on item Click of navigation menu            @Override            public boolean onNavigationItemSelected(MenuItem menuItem) {                 //Check to see which item was being clicked and perform appropriate action                switch (menuItem.getItemId()) {                    //Replacing the main content with ContentFragment Which is our Inbox View;                    case R.id.nav_home:                        navItemIndex = 0;                        CURRENT_TAG = TAG_HOME;                        break;                    case R.id.nav_photos:                        navItemIndex = 1;                        CURRENT_TAG = TAG_PHOTOS;                        break;                    case R.id.nav_movies:                        navItemIndex = 2;                        CURRENT_TAG = TAG_MOVIES;                        break;                    case R.id.nav_notifications:                        navItemIndex = 3;                        CURRENT_TAG = TAG_NOTIFICATIONS;                        break;                    case R.id.nav_settings:                        navItemIndex = 4;                        CURRENT_TAG = TAG_SETTINGS;                        break;                    case R.id.nav_about_us:                        // launch new intent instead of loading fragment                        startActivity(new Intent(MainActivity.this, AboutUsActivity.class));                        drawer.closeDrawers();                        return true;                    case R.id.nav_privacy_policy:                        // launch new intent instead of loading fragment                        startActivity(new Intent(MainActivity.this, PrivacyPolicyActivity.class));                        drawer.closeDrawers();                        return true;                    default:                        navItemIndex = 0;                }                 //Checking if the item is in checked state or not, if not make it in checked state                if (menuItem.isChecked()) {                    menuItem.setChecked(false);                } else {                    menuItem.setChecked(true);                }                menuItem.setChecked(true);                 loadHomeFragment();                 return true;            }        });          ActionBarDrawerToggle actionBarDrawerToggle = new ActionBarDrawerToggle(this, drawer, toolbar, R.string.openDrawer, R.string.closeDrawer) {             @Override            public void onDrawerClosed(View drawerView) {                // Code here will be triggered once the drawer closes as we dont want anything to happen so we leave this blank                super.onDrawerClosed(drawerView);            }             @Override            public void onDrawerOpened(View drawerView) {                // Code here will be triggered once the drawer open as we dont want anything to happen so we leave this blank                super.onDrawerOpened(drawerView);            }        };         //Setting the actionbarToggle to drawer layout        drawer.setDrawerListener(actionBarDrawerToggle);         //calling sync state is necessary or else your hamburger icon wont show up        actionBarDrawerToggle.syncState();    }     @Override    public void onBackPressed() {        if (drawer.isDrawerOpen(GravityCompat.START)) {            drawer.closeDrawers();            return;        }         // This code loads home fragment when back key is pressed        // when user is in other fragment than home        if (shouldLoadHomeFragOnBackPress) {            // checking if user is on other navigation menu            // rather than home            if (navItemIndex != 0) {                navItemIndex = 0;                CURRENT_TAG = TAG_HOME;                loadHomeFragment();                return;            }        }         super.onBackPressed();    }     @Override    public boolean onCreateOptionsMenu(Menu menu) {        // Inflate the menu; this adds items to the action bar if it is present.         // show menu only when home fragment is selected        if (navItemIndex == 0) {            getMenuInflater().inflate(R.menu.main, menu);        }         // when fragment is notifications, load the menu created for notifications        if (navItemIndex == 3) {            getMenuInflater().inflate(R.menu.notifications, menu);        }        return true;    }     @Override    public boolean onOptionsItemSelected(MenuItem item) {        // Handle action bar item clicks here. The action bar will        // automatically handle clicks on the Home/Up button, so long        // as you specify a parent activity in AndroidManifest.xml.        int id = item.getItemId();         //noinspection SimplifiableIfStatement        if (id == R.id.action_logout) {            Toast.makeText(getApplicationContext(), "Logout user!", Toast.LENGTH_LONG).show();            return true;        }         // user is in notifications fragment        // and selected 'Mark all as Read'        if (id == R.id.action_mark_all_read) {            Toast.makeText(getApplicationContext(), "All notifications marked as read!", Toast.LENGTH_LONG).show();        }         // user is in notifications fragment        // and selected 'Clear All'        if (id == R.id.action_clear_notifications) {            Toast.makeText(getApplicationContext(), "Clear all notifications!", Toast.LENGTH_LONG).show();        }         return super.onOptionsItemSelected(item);    }     // show or hide the fab    private void toggleFab() {        if (navItemIndex == 0)            fab.show();        else            fab.hide();    }}

    کارمون تموم شد. امیدوارم از این آموزش لذت برده باشید . دوستتون دارم
    Chatbuzz likes this.
    اگر میخواهی از زندگیت لذت ببری

    خودتو به یک هدف گره بزن ، نه انسان و اشیا



  5. #5
    Parsadl.ir
    کاربر عادی انجمن
    http://up.vbiran.ir/images/nrtfq8oe4y3n4ataqsc.pnghttp://up.vbiran.ir/images/x8yx5wzjnfalz1ga8oa8.pnghttp://up.vbiran.ir/images/x8yx5wzjnfalz1ga8oa8.pnghttp://up.vbiran.ir/images/x8yx5wzjnfalz1ga8oa8.pnghttp://up.vbiran.ir/images/x8yx5wzjnfalz1ga8oa8.png
    تاریخ عضویت
    2017/07/19
    محیط
    اندروید استودیو
    نوشته ها
    1
    0
    0
    میشه بیشتر توضیح بدین؟
    ویرایش توسط Hamed Taghipur : 2017/08/05 در ساعت 16:40 دلیل: حذف تبلیغات
نمایش نتایج: از 1 به 5 از 5

مجوز های ارسال و ویرایش

  • شما نمیتوانید موضوع جدیدی ارسال کنید
  • شما امکان ارسال پاسخ را ندارید
  • شما نمیتوانید فایل پیوست کنید.
  • شما نمیتوانید پست های خود را ویرایش کنید
  •