1.说明:
最近碰到一个需求,用kotlin实现,点击和左边侧滑,出现一个侧滑菜单,然后点击菜单的某一项。再出现一个可以选择的popupwindow,这种效果较为少见,被这个功能卡了一点时间,没有做到完全一模一样,差不多能用就行了,然后ui的话,大家如果需要的话,自己去写吧,那个样式,每个项目都是不同的,本demo有独立的xml文件,可以自定义样式
2.效果图:
最终样式效果图:
demo运行效果图:
3.下载地址:https://github.com/wrs13634194612/SlideMenuDialog
4.主界面,我这里贴一下核心代码,需要完整源码的,请自行下载
package com.ufi.pdioms.ztkotlin
import android.app.Activity
import androidx.appcompat.app.AppCompatActivity
import android.os.Bundle
import android.util.Log
import androidx.core.view.GravityCompat
import androidx.fragment.app.FragmentActivity
import kotlinx.android.synthetic.main.activity_main.*
class MainActivity : FragmentActivity() {
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_main)
drawerView_comple.initFragment(savedInstanceState)
btn_main.setOnClickListener { myDrawer.openDrawer(GravityCompat.START)}
}
override fun onDestroy() {
super.onDestroy()
drawerView_comple.onDestroy()
}
}
5.自定义的侧滑菜单,可增加不同样式的fragment,有点类似于底部fragment栏的那种效果,很实用的
package com.ufi.pdioms.ztkotlin
import android.annotation.SuppressLint
import android.app.Activity
import android.content.Context
import android.content.Intent
import android.os.Bundle
import androidx.drawerlayout.widget.DrawerLayout
import android.util.AttributeSet
import android.util.Log
import android.view.Gravity
import android.view.LayoutInflater
import andr