码农知识堂 - 1000bd
  •   Python
  •   PHP
  •   JS/TS
  •   JAVA
  •   C/C++
  •   C#
  •   GO
  •   Kotlin
  •   Swift
  • compose——侧边栏


    效果图:

      

    依赖引入:

    implementation 'com.google.android.material:material:1.5.0'

    代码如下:

    1. class MainActivity : ComponentActivity() {
    2. override fun onCreate(savedInstanceState: Bundle?) {
    3. super.onCreate(savedInstanceState)
    4. setContent {
    5. ComposedrawerTheme {
    6. Surface(
    7. modifier = Modifier.fillMaxSize(),
    8. color = MaterialTheme.colors.background
    9. ) {
    10. MainPage()
    11. }
    12. }
    13. }
    14. }
    15. }
    16. @SuppressLint("UnusedMaterialScaffoldPaddingParameter")
    17. @Composable
    18. fun MainPage() {
    19. val scaffoldState = rememberScaffoldState()
    20. val coroutineScope = rememberCoroutineScope()// 定义协程作用域
    21. Scaffold(
    22. topBar = {
    23. TopAppBar(
    24. navigationIcon = {
    25. IconButton(
    26. onClick = {
    27. coroutineScope.launch {
    28. scaffoldState.drawerState.open()
    29. }
    30. }
    31. ) {
    32. Icon(Icons.Filled.Menu, null)
    33. }
    34. },
    35. title = {
    36. Text("首页")
    37. },
    38. actions = {
    39. IconButton(
    40. onClick = {}
    41. ) {
    42. Icon(Icons.Filled.Share, null)
    43. }
    44. IconButton(
    45. onClick = {}
    46. ) {
    47. Icon(Icons.Filled.Settings, null)
    48. }
    49. },
    50. )
    51. },
    52. drawerContent = { DrawerContent() },
    53. drawerGesturesEnabled = true,
    54. scaffoldState = scaffoldState,
    55. ) {
    56. }
    57. }
    58. @Composable
    59. fun DrawerContent() {
    60. Text(text = "DrawerContent")
    61. }

    如果要设置侧边栏宽度,代码如下:

    1. /**
    2. * 设置抽屉的宽度
    3. */
    4. @Composable
    5. fun CustomDrawerShape(): Shape = object : Shape {
    6. override fun createOutline(
    7. size: Size,
    8. layoutDirection: LayoutDirection,
    9. density: Density
    10. ): Outline {
    11. return Outline.Rectangle(Rect(0f, 0f, 600f, size.height))
    12. }
    13. }

    在Scaffold里设置属性:

    drawerShape = CustomDrawerShape(),

  • 相关阅读:
    月子会所管理系统| 月子会所小程序| 数字化门店转型
    工业无线路由器助力打造高速路多功能测速杆
    从autojs到冰狐智能辅助的心里历程
    【数据结构】C++代码定义了一个动态数组(Vector)的数据结构,并实现了一些基本的操作,包括插入、删除、扩容和输出。
    2021年中国环境统计年鉴、工业企业污染排放数据库
    如何利用复制就好工具做英标和生词表--写给自己
    WWDC 2024及其AI功能的引入对中国用户和开发者的影响
    MySQL事务隔离级别
    STM32框架之按键扫描新思路
    Charles下载与安装教程(超详细)
  • 原文地址:https://blog.csdn.net/wy313622821/article/details/133015911
  • 最新文章
  • 沪漂五周年了:我越来越迷茫了
    Agentic Skill Routing 实战:别再把所有 Skill 塞进 AI Agent 上下文
    MySQL-Seconds_behind_master的精度误差
    [MAF预定义ChatClient中间件-03]CachingChatClient——利用缓存省钱省时间
    AI的至暗历史:从万众期待到被政府撤资,AI的两次死亡徘徊
    Agent OS :五种驯服不确定性的范式
    PortSwigger SQL注入LAB11
    数据库即时编译JIT
    [Begin]AI Learn Data Day 0
    深度学习进阶(二十七)现代 LLM 的核心架构设计其二:SwiGLU
  • 热门文章
  • 十款代码表白小特效 一个比一个浪漫 赶紧收藏起来吧!!!
    奉劝各位学弟学妹们,该打造你的技术影响力了!
    五年了,我在 CSDN 的两个一百万。
    Java俄罗斯方块,老程序员花了一个周末,连接中学年代!
    面试官都震惊,你这网络基础可以啊!
    你真的会用百度吗?我不信 — 那些不为人知的搜索引擎语法
    心情不好的时候,用 Python 画棵樱花树送给自己吧
    通宵一晚做出来的一款类似CS的第一人称射击游戏Demo!原来做游戏也不是很难,连憨憨学妹都学会了!
    13 万字 C 语言从入门到精通保姆级教程2021 年版
    10行代码集2000张美女图,Python爬虫120例,再上征途
小工具 小游戏
Copyright © 2022 侵权请联系2656653265@qq.com    京ICP备2022015340号-1

京公网安备 11010502049817号