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 android.view.View
import android.widget.LinearLayout
import android.widget.TextView
import kotlinx.android.synthetic.main.view_drawer.view.*
/*import com.ufi.pdioms.cabinet.widget.AutoHideBottomUIDia