5

किसी को भी यह विचार है कि इस प्रकार के संक्रमण को कैसे प्राप्त किया जाए। जब हम Navagation ड्रावर पूर्ण स्क्रीन खोलते हैं तो इस तरह एनीमेशन प्राप्त हो रहा है। मैंने reside menu पर भी देखा लेकिन यहां मेनू को पूर्वनिर्धारित नहीं किया गया है जैसा मैं चाहता हूं।नेविगेशन ड्रॉवर एंड्रॉइड में संक्रमण

मैंने NavigationDrawer के साथ भी प्रयास किया लेकिन सफल नहीं हुआ।

drawer.addDrawerListener(new DrawerLayout.DrawerListener() { 
     @Override 
     public void onDrawerSlide(View drawerView, float slideOffset) { 
      float moveFactor = (linearLayout.getWidth() * slideOffset); 

      float min = 0.9f; 
      float max = 1.0f; 
      float scaleFactor = (max - ((max - min) * slideOffset)); 
      if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.HONEYCOMB) 
      { 
       linearLayout.setTranslationX(moveFactor); 
       linearLayout.setScaleX(scaleFactor); 
       linearLayout.setScaleY(scaleFactor); 
      } 
      else 
      { 
       AnimationSet animSet = new AnimationSet(true); 


       TranslateAnimation anim = new TranslateAnimation(lastTranslate, moveFactor, 0.0f, 0.0f); 
       anim.setDuration(0); 
       anim.setFillAfter(true); 
       animSet.addAnimation(anim); 
       ScaleAnimation scale = new ScaleAnimation(1.15f, 1.0f, 1.15f, 1.0f); 
       scale.setDuration(10); 
       scale.setFillAfter(true); 
       animSet.addAnimation(scale); 

       drawerView.startAnimation(animSet); 

       lastTranslate = moveFactor; 
      } 
     } 

     @Override 
     public void onDrawerOpened(View drawerView) { 

     } 

     @Override 
     public void onDrawerClosed(View drawerView) { 

     } 

     @Override 
     public void onDrawerStateChanged(int newState) { 

     } 
    }); 

अग्रिम

Animation in navigation drawer

+0

तुम क्या कभी आप –

+0

किसी भी विचार करना चाहता था कि कैसे प्राप्त करने के लिए देखने के लिए रहते हैं-मेनू पुस्तकालय में पूर्वनिर्धारित मेनू बदल गया होगा उस??? –

+1

आप इस तरह से मतलब है? http://stackoverflow.com/questions/37335300/moving-and-resizing-drawerlayouts-content-on-sliding –

उत्तर

4

धन्यवाद अंत में मैं इस link for original post के माध्यम से मेरा उत्तर मिल गया। कृपया एक नज़र यहाँ

<?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:context="test.pyramidions.com.dynamicview2.MainActivity" 
tools:openDrawer="start"> 


<RelativeLayout 
    android:id="@+id/holder" 
    android:layout_width="match_parent" 
    android:background="@drawable/shadow" 
    android:layout_height="match_parent" 
    android:orientation="vertical"> 


    <LinearLayout 
     android:id="@+id/content" 
     android:layout_width="match_parent" 
     android:background="@color/colorAccent" 
     android:layout_height="match_parent" 
     android:orientation="vertical"> 

     <include 
      android:id="@+id/toolbar" 
      layout="@layout/toolbar" /> 


     <android.support.v4.view.ViewPager 
      android:id="@+id/pager" 
      android:layout_width="match_parent" 
      android:layout_height="match_parent" 
      android:layout_weight="1" /> 

    </LinearLayout> 
</RelativeLayout> 


<android.support.design.widget.NavigationView 
    android:id="@+id/nav_view" 
    android:layout_width="wrap_content" 
    android:layout_height="match_parent" 
    android:background="@android:color/transparent" 
    android:layout_gravity="start" 
    app:headerLayout="@layout/nav_header_main" 
    app:menu="@menu/drawer_menu" /> 

</android.support.v4.widget.DrawerLayout> 

और MainActivity.java के लिए कृपया नीचे एक नजर है

 public class MainActivity extends AppCompatActivity { 
public TabsPagerAdapter tabsPagerAdapter; 
public static ViewPager pager; 
int Numboftabs = 2; 
Toolbar toolbar; 
public NavigationView navigationView; 
public DrawerLayout drawer; 
View holderView, contentView; 
@Override 
protected void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.activity_main); 

    toolbar = (Toolbar) findViewById(R.id.toolbar); 
    drawer = (DrawerLayout) findViewById(R.id.drawer_layout); 
    navigationView = (NavigationView) findViewById(R.id.nav_view); 
    holderView = findViewById(R.id.holder); 
    contentView = findViewById(R.id.content); 
    tabsPagerAdapter = new TabsPagerAdapter(getSupportFragmentManager(), Numboftabs); 
    pager = (ViewPager) findViewById(R.id.pager); 
    pager.setAdapter(tabsPagerAdapter); 
    toolbar.setNavigationIcon(new DrawerArrowDrawable(this)); 
    toolbar.setNavigationOnClickListener(new View.OnClickListener() { 
              @Override 
              public void onClick(View v) { 
               if (drawer.isDrawerOpen(navigationView)) { 
                drawer.closeDrawer(navigationView); 
               } else { 
                drawer.openDrawer(navigationView); 
               } 
              } 
             } 
    ); 


    drawer.setScrimColor(Color.TRANSPARENT); 
    drawer.addDrawerListener(new DrawerLayout.SimpleDrawerListener() { 
           @Override 
           public void onDrawerSlide(View drawer, float slideOffset) { 


            contentView.setX(navigationView.getWidth() * slideOffset); 
            RelativeLayout.LayoutParams lp = 
              (RelativeLayout.LayoutParams) contentView.getLayoutParams(); 
            lp.height = drawer.getHeight() - 
              (int) (drawer.getHeight() * slideOffset * 0.3f); 
            lp.topMargin = (drawer.getHeight() - lp.height)/2; 
            contentView.setLayoutParams(lp); 
           } 

           @Override 
           public void onDrawerClosed(View drawerView) { 
           } 
          } 
    ); 

} 
संबंधित मुद्दे