首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> 更多程式語言 >> 程式設計疑難解答

Android ViewPager 實現側滑菜單:推薦使用 DrawerLayout

     編輯:程式設計疑難解答

現狀

嘗試用 `ViewPager` 的 `onPageScrolled` 實現左滑出菜單,類似 QQ/CSDN 效果。

更佳方案:DrawerLayout

Android 官方提供 `android.support.v4.widget.DrawerLayout`(現 `androidx.drawerlayout.widget.DrawerLayout`),專為側滑抽屜設計,功能完善、性能優、適配好。

快速接入

  1. 依賴:`implementation "androidx.drawerlayout:drawerlayout:1.2.0"`
  2. 布局:
<DrawerLayout xmlns:android="..."
    android:id="@+id/drawer_layout"
    android:layout_width="match_parent"
    android:layout_height="match_parent">

    <!-- 主內容 -->
    <FrameLayout android:id="@+id/content_frame" ... />

    <!-- 側滑菜單 (通常放左側) -->
    <ListView android:id="@+id/left_drawer"
        android:layout_width="240dp"
        android:layout_height="match_parent"
        android:layout_gravity="start" />
</DrawerLayout>
  1. 代碼控制:
    `DrawerLayout drawer = findViewById(R.id.drawer_layout);`
    `drawer.openDrawer(GravityCompat.START);` / `closeDrawer()`

Android Studio 模板

新建 Activity 時選 **Navigation Drawer Activity**,自動生成完整樣板代碼(含 Toolbar、ActionBarDrawerToggle、菜單列表)。

優勢

  • 手勢識別、邊緣滑動、動畫、狀態保存全自動。
  • 符合 Material Design 規範。
  • 避免手寫 ViewPager 邏輯的坑(嵌套滑動衝突、生命週期管理)。
  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved