رفتن به مطلب
انجمن اندروید ایران | آموزش برنامه نویسی اندروید و موبایل
  • android.png.1fab383bc8500cd93127cebc65b1dcab.png

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


پست های پیشنهاد شده

با عرض سلام و خسته نباشید
چطور میتونم از نویگیشن دراور و ViewPager تو کلاس Main Activity خودم استفاده کنم
من این کار رو کردم ولی با مشکل روبه رو شدم
لطفا راهنمایی کنید با تشکر

ویرایش شده توسط sroash
لینک ارسال
به اشتراک گذاری در سایت های دیگر
در 2 دقیقه قبل، sroash گفته است :

با عرض سلام و خسته نباشید
چطور میتونم از نویگیشن دراور و ViewPager تو کلاس Main Activity خودم استفاده کنم
من این کار رو کردم ولی با مشکل روبه رو شدم
لطفا راهنمایی کنید با تشکر

 

<android.support.v4.widget.DrawerLayout 
    xmlns:android="http://schemas.android.com/apk/res/android"
    android:id="@+id/drawer_layout"
    android:layout_width="match_parent"
    android:layout_height="match_parent">

    <android.support.v4.view.ViewPager
        android:id="@+id/viewpager"
        android:layout_width="fill_parent"
        android:layout_height="fill_parent" />

    <ListView 
        android:id="@+id/left_drawer"
        android:layout_width="240dp"
        android:layout_height="match_parent"
        android:layout_gravity="start"
        android:background="#111"
        android:choiceMode="singleChoice"
        android:divider="@android:color/transparent"
        android:dividerHeight="0dp" />
</android.support.v4.widget.DrawerLayout>

 

WPTnW.thumb.png.934d295ffb8cbe47f6c3b59fce7e23ea.png

 

 

لینک ارسال
به اشتراک گذاری در سایت های دیگر

با تشکر از پاسخ خوبتون فقط اگه امکان داره توضیح بفرمائید من از لایه MainActivity خودم Include کردم تو یه لایه دیگه چون اکشن بار کاستوم ساختم این کد xml که معرفی کردین رو تو لایه Main activity  بزارم یا توی لایه ای که Main Activity خودم رو توش Include  کردم؟

 

لینک ارسال
به اشتراک گذاری در سایت های دیگر
در 23 دقیقه قبل، sroash گفته است :

با تشکر از پاسخ خوبتون فقط اگه امکان داره توضیح بفرمائید من از لایه MainActivity خودم Include کردم تو یه لایه دیگه چون اکشن بار کاستوم ساختم این کد xml که معرفی کردین رو تو لایه Main activity  بزارم یا توی لایه ای که Main Activity خودم رو توش Include  کردم؟

 

کدتون رو بزارید

لینک ارسال
به اشتراک گذاری در سایت های دیگر
در در 1396/04/15, 12:05:04، Farzad Sarseifi گفته است :

کدتون رو بزارید

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout 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"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    android:orientation="vertical"
    tools:context="app.mobile.com.Reza.MainActivity">

    <android.support.v4.widget.DrawerLayout
        android:id="@+id/drawerlayout"
        android:layout_width="match_parent"
        android:layout_height="match_parent">
        <com.astuetz.PagerSlidingTabStrip
            android:layout_width="match_parent"
            app:pstsShouldExpand="true"
            app:pstsIndicatorColor="@color/colorPrimary"
            android:layout_height="48dip" />

        <android.support.v4.view.ViewPager
            android:id="@+id/viewpager"
            android:layout_width="fill_parent"
            android:layout_height="fill_parent" />
        <include layout="@layout/activity_main"></include>
        <android.support.design.widget.NavigationView
            android:layoutDirection="rtl"
            android:id="@+id/navigatioview"
            android:layout_width="wrap_content"
            android:layout_height="match_parent"
            android:layout_gravity="right"
            app:menu="@menu/menu_navigation"
            app:headerLayout="@layout/header">
        </android.support.design.widget.NavigationView>
    </android.support.v4.widget.DrawerLayout>
</LinearLayout>
 viewPager.setOffscreenPageLimit(3);


        imageView.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                drawerLayout.openDrawer(Gravity.RIGHT);
            }
        });

        navigationView.setNavigationItemSelectedListener(new NavigationView.OnNavigationItemSelectedListener() {

            @Override
            public boolean onNavigationItemSelected(MenuItem item) {

                setVisible(true);
                int id = item.getItemId();
                if (id == R.id.login) {
                    Intent intent=new Intent(MainActivity.this,Login.class);
                    startActivity(intent);
                }else if (id==R.id.myprofile) {
                        ShowProfile();

                }else if(id==R.id.advertising){
                    Intent intent=new Intent(MainActivity.this,AdvertisingAdd.class);
                    startActivity(intent);
                }
                return true;
            }
        });

    }

    public class MYViewPager extends FragmentPagerAdapter {

        private final String[] Title={"همه","دسته بندی","آگهی های من"};
        public MYViewPager(FragmentManager fm) {
            super(fm);
        }

        @Override
        public CharSequence getPageTitle(int position) {
            return Title[position];
        }

        @Override
        public int getCount() {
            return Title.length;
        }
        @Override
        public Fragment getItem(int position) {

           /* if (position==0){                                              این تکه کد رو اضافه میکنم اکتیویتی قرمز رنگ میشه
                Frag_Banners_All frag_banners_all= new Frag_Banners_All();      خطا میگیره و تنها با نادیده گرفتن این تکه کد 
                return frag_banners_all;                                          دوباره درست میشه
            }else if (position==1){
                Frag_Banners_Cate frag_banners_cate= new Frag_Banners_Cate();
                return frag_banners_cate;*/

            return null;
        }

فایل xml بالا رو به عنوان لایه گرافیکی که (لایه گرافیکیmain activity)  رو توش include  کردم به کلاس  Main Activity معرفی کردم

لینک ارسال
به اشتراک گذاری در سایت های دیگر

به گفتگو بپیوندید

هم اکنون می توانید مطلب خود را ارسال نمایید و بعداً ثبت نام کنید. اگر حساب کاربری دارید، برای ارسال با حساب کاربری خود اکنون وارد شوید .

مهمان
ارسال پاسخ به این موضوع...

×   شما در حال چسباندن محتوایی با قالب بندی هستید.   حذف قالب بندی

  تنها استفاده از 75 اموجی مجاز می باشد.

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

×   محتوای قبلی شما بازگردانی شد.   پاک کردن محتوای ویرایشگر

×   شما مستقیما نمی توانید تصویر خود را قرار دهید. یا آن را اینجا بارگذاری کنید یا از یک URL قرار دهید.

  • مطالب مشابه

    • توسط alizare
      با سلام
      در طراحی یک viewpager با چند فرگمنت که قابلیت افزودن فرگمنت و حذف آنها بصورت داینامیک باشه به مشکل بر خوردم
      همه کد ها بخوبی کار میکنند بجز کد مربوط به حذف فرگمنت
      البته اگر از آخرین فرگمنت شروع به حذف فرگمنت ها کنیم مشکلی پیش نمیاد
      ولی اگه مثلا 5 فرگمنت داشته باشیم و بخواهیم فرگمنت شماره 2 را حذف کنیم ، فرگمنت حذف می شود ولی جای فرگمت خالی می ماند و با سوئیپ روی این فرگمنت برنامه به مشکل میخوره
      در عکس پیوست فرگمنت دو حذف شده ولی جای خالی آن باقی مانده
      کدی که برای حذف فرگمنت استفاده کردم به شکل زیر هست
      public void removeFrag(int position) { removeTab(position); Fragment fragment = mFragmentList.get(position); viewPager.removeView(fragment.getView()); mFragmentList.remove(fragment); mFragmentTitleList.remove(position); notifyDataSetChanged(); getSupportFragmentManager().beginTransaction().remove(fragment).commit(); getSupportFragmentManager().beginTransaction().detach(fragment).commit(); } ممنون میشم هر چه زودتر در این مورد راهنماییم کنید
      با تشکر از سایت خوبتون

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

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

      شما میدونین مشکل چیه؟
    • توسط sh.mahdavi2014
      سلام
      من آموزش،فایل پروژه نمایش فایل های epub در اندروید که قابلیت مارک کردن صفحه، نشانه گذاری متن و هایلایت کردن متون و نمایش صفحات از چپ به راست را لازم دارم.
    • توسط salman.t
      سلام دوستان عزیز
      یه سوال از شما دوستان دارم ممنون میشم راهنماییم کنید
      ببینید من اومدم یه تب ویو ساختم با 14 تا تب و مشکلم اینه چهارده تارو بصورت مچ پرنت نشون میده! میخوام چهارتاشو نشون بده بقیش حالت اسلاید شدن پیدا کنه
      عکسارو ببینید متوجه میشید
       
      عکس برنامه خودم

       
      عکس کد

       
      چیزی که میخوام بشه

       
       
      ممنون میشم کمکم کنید
      بسیار سپاسگذارم
    • توسط Razieh Shahraki
      توی این آموزش میخوایم یه گالری عکس درست کنیم که  از view pager استفاده میکنه توی بعضی از نرم افزارها برای بخش راهنما هم استفاده میشه.
      برای این کار پروزه جدید ایجاد کنید توی فایل activity_main.xml کد زیر را قرار بدید
       

       
      ]<?xml version="1.0" encoding="utf-8"?> android:layout_width="fill_parent" android:layout_height="fill_parent" > android:id="@+id/view_pager" android:layout_width="fill_parent" android:layout_height="fill_parent" android:layout_above="@+id/screen_navigation_button" /> android:id="@id/screen_navigation_button" android:layout_width="fill_parent" android:layout_height="wrap_content" android:layout_alignParentBottom="true" android:gravity="center" android:padding="10dip" android:text="ViewPager!" android:textSize="18sp" />  
      فایل دیگری به اسم single_view.xml ایجاد کنید و کد زیر را در آن قرار دهید.
       
      <?xml version="1.0" encoding="utf-8"?> android:id="@+id/image_view" android:layout_width="fill_parent" android:layout_height="fill_parent" />
       
      در فایل جاوا کد زیر را قرار دهید
       
      package com.example.viewpageractivity; import android.app.Activity; import android.content.Context; import android.content.Intent; import android.os.Bundle; import android.support.v4.view.PagerAdapter; import android.support.v4.view.ViewPager; import android.util.Log; import android.view.LayoutInflater; import android.view.View; import android.view.View.OnClickListener; import android.view.ViewGroup; import android.widget.ImageView; import android.widget.TextView; import android.widget.Toast; public class MainActivity extends Activity { private static final int MAX_VIEWS = 5; ViewPager mViewPager; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); mViewPager = (ViewPager) findViewById(R.id.view_pager); mViewPager.setAdapter(new WalkthroughPagerAdapter()); mViewPager.setOnPageChangeListener(new WalkthroughPageChangeListener()); } class WalkthroughPagerAdapter extends PagerAdapter { @Override public int getCount() { return MAX_VIEWS; } @Override public boolean isViewFromObject(View view, Object object) { return view == (View) object; } @Override public Object instantiateItem(View container, int position) { Log.e("viewPager", "instantiateItem(" + position + ");"); Toast.makeText(getApplicationContext(), position+"", Toast.LENGTH_LONG).show(); LayoutInflater inflater = (LayoutInflater) getSystemService(Context.LAYOUT_INFLATER_SERVICE); View imageViewContainer = inflater.inflate(R.layout.single_view, null); ImageView imageView = (ImageView) imageViewContainer.findViewById(R.id.image_view); switch(position) { case 0: imageView.setImageResource(R.drawable.ic_launcher); break; case 1: imageView.setImageResource(R.drawable.ic_launcher); break; case 2: imageView.setImageResource(R.drawable.ic_launcher); break; case 3: imageView.setImageResource(R.drawable.ic_launcher); break; case 4: imageView.setImageResource(R.drawable.ic_launcher); break; } ((ViewPager) container).addView(imageViewContainer, 0); return imageViewContainer; } @Override public void destroyItem(ViewGroup container, int position, Object object) { ((ViewPager)container).removeView((View)object); } } class WalkthroughPageChangeListener implements ViewPager.OnPageChangeListener { @Override public void onPageScrollStateChanged(int arg0) { } @Override public void onPageScrolled(int arg0, float arg1, int arg2) { } @Override public void onPageSelected(int position) { // Here is where you should show change the view of page indicator switch(position) { case MAX_VIEWS - 1: break; default: } } }  
       
      با توجه به نیاز خودتون میتونید برنامه رو تغییر بدید
  • فایل

×
×
  • اضافه کردن...