实现android新的侧滑效果,只移动侧滑界面,主界面动作效果不变
(1)总体界面的布局activity_main.xml
<?xml version="1.0" encoding="utf-8"?> <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="match_parent"> <android.support.v4.widget.DrawerLayout android:id="@+id/simple_navigation_drawer" android:layout_width="match_parent" android:layout_height="match_parent"> <include android:id="@+id/tv_content" layout="@layout/drawer_content_layout" android:layout_width="match_parent" android:layout_height="match_parent" /> <include layout="@layout/drawer_menu_layout" android:layout_width="250dp" android:layout_height="match_parent" android:layout_gravity="start" /> </android.support.v4.widget.DrawerLayout> </RelativeLayout>
(1)主界面的布局 drawer_content_layout.xml
<?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:orientation="vertical"> <Button android:id="@+id/button" android:layout_width="match_parent" android:layout_height="wrap_content" android:text="主界面" /> </LinearLayout>
(2)侧滑界面的布局 drawer_menu_layout.xml
<?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="250dp" android:layout_height="match_parent" android:orientation="vertical"> <TextView android:layout_width="match_parent" android:layout_height="match_parent" android:background="@color/pink" android:gravity="center" android:text="侧滑界面" /> </LinearLayout>
(3)在MainActivity中,设置侧滑按钮的动作监听,打开侧滑界面布局,注意,侧滑界面和主界面的控件的绑定事件可以正常使用,和普通的activity一样处理
public class NaviationDrawerBaseUseAct extends AppCompatActivity { //参考网址:https://blog.csdn.net/yangshangwei/article/details/50788880 private DrawerLayout drawerLayout ; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); drawerLayout = (DrawerLayout) findViewById(R.id.simple_navigation_drawer); //监听DrawerLayout的侧滑 drawerLayout.setDrawerListener(new DrawerLayout.DrawerListener() { @Override public void onDrawerSlide(View drawerView, float slideOffset) { } @Override public void onDrawerOpened(View drawerView) { Toast.makeText(NaviationDrawerBaseUseAct.this, "抽屉打开", Toast.LENGTH_SHORT).show(); } @Override public void onDrawerClosed(View drawerView) { Toast.makeText(NaviationDrawerBaseUseAct.this, "抽屉关闭", Toast.LENGTH_SHORT).show(); } @Override public void onDrawerStateChanged(int newState) { } }); } }
实现效果图: