kotlin-----實現側滑菜單


廢話少說,直接記錄步驟。

 

在app的build.gradle中添加

compile 'com.android.support:design:26.1.0' 

 

這里注意一下:design:26.1.0 是和 implementation 'com.android.support:appcompat-v7:26.1.0'的版本一致的

 

使用實例,准備工作:新建一個menu組和一個header布局

<?xml version="1.0" encoding="utf-8"?>
<menu xmlns:android="http://schemas.android.com/apk/res/android">

    <item android:id="@+id/menu_1"
        android:title="應用管理" />

    <item android:id="@+id/menu_2"
        android:title="消息中心" />

</menu>
<?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"
    android:gravity="center">

    <ImageView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:src="@mipmap/ic_launcher"/>

</LinearLayout>
Activity布局:
<?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:layout_width="match_parent"
    android:layout_height="match_parent"
    android:id="@+id/drawer_layout"
    tools:context="com.mvp.org.view.DrawerLayoutUse">

    <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="wrap_content">

        <TextView
            android:layout_width="match_parent"
            android:layout_height="match_parent"
            android:text="測試"/>

    </LinearLayout>

    <!--側滑菜單-->
    <!--android:layout_gravity="start"表示從左到右滑出,end表示從右到左-->
    <LinearLayout
        android:layout_width="320dp"
        android:layout_height="match_parent"
        android:background="@color/blue_btn_bg_pressed_color"
        android:layout_gravity="end">
        <TextView
            android:layout_width="match_parent"
            android:layout_height="match_parent"
            android:gravity="center"
            android:text="測試TextView"/>
    </LinearLayout>

    <android.support.design.widget.NavigationView
        android:id="@+id/design_navigation_view"
        android:layout_width="320dp"
        android:layout_height="match_parent"
        app:headerLayout="@layout/header"
        app:menu="@menu/menu_left"
        android:layout_gravity="start">

    </android.support.design.widget.NavigationView>

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

邏輯代碼以及綁定事件

class DrawerLayoutUse : AppCompatActivity() {

    override fun onCreate(savedInstanceState: Bundle?) {
        super.onCreate(savedInstanceState)
        setContentView(R.layout.activity_drawer_layout)
        val view: View = design_navigation_view.getHeaderView(0)
        view.setOnClickListener{
            Log.e("DrawerLayoutUse","頭部點擊")
        }

        design_navigation_view.setNavigationItemSelectedListener({ item ->
            when (item.itemId) {
                R.id.menu_1 -> {
                    val alertTool = AlertDialogUtils(this)
                    alertTool.AlertTitleAndMessage("點擊","按鈕①","success")
                }
                R.id.menu_2 -> {
                    val alertTool = AlertDialogUtils(this)
                    alertTool.AlertTitleAndMessage("點擊","按鈕②","success")
                }
            }
            false
        })

    }
}

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM