xp系统完全安装版-rainmeter cn

layout_gravity
2023年4月5日发(作者:硬盘安装ubuntu)

AndroidApp侧边栏菜单的简单实现

效果图

Layout

注意事项

想要实现侧边栏,需要配合使⽤DrawerLayout。因为会⽤到嵌套布局,所以根布局不能是ConstraintLayout,最好使⽤LinearLayout布局。

DrawerLayout布局下再嵌套两个布局,⼀个放置内容如LinearLayout,⼀个放置侧划菜单,这⾥使⽤NavigationView

为了出现侧边栏点击图标和菜单图标,需要⾃定义⼀个ToolBar,放置在内容Layout⾥

重点

侧划菜单NavigationView⼀定要设置android:layout_gravity="start"

实例

<?xmlversion="1.0"encoding="utf-8"?>

xmlns:tools="/tools"

android:layout_width="match_parent"

android:layout_height="match_parent"

tools:context=".ctivity">

android:id="@+id/drawer_ebook"

android:layout_width="match_parent"

android:layout_height="match_parent"

android:orientation="vertical">

android:layout_width="match_parent"

android:layout_height="match_parent"

android:orientation="vertical">

android:id="@+id/main_menu_ebook"

android:layout_width="match_parent"

android:layout_height="wrap_content"

app:navigationIcon="@mipmap/menu_more"/>

android:id="@+id/bookContent"

android:layout_width="match_parent"

android:layout_height="wrap_content"/>

android:id="@+id/navigation_ebook"

android:layout_width="230dp"

android:layout_height="match_parent"

android:layout_gravity="start"

app:headerLayout="@layout/navigation_ebook_header"

app:menu="@menu/menu_drawer_ebook"/>

上⾯不能加注释,有⼀点想特别说明⼀下,因为搞了好久,就是那个menu的三横图标怎么弄出来,开始⼀直在navigation上找,⾏不能,最后

看到说toolbar本⾝可以设定,尝试⼀下确实ok

⾃已找的喜欢的图标

app:navigationIcon="@mipmap/menu_more"

Activity

绑定侧划监听事件

privatelateinitvarmBinding:ActivityEbookBinding

privatelateinitvarmDrawerToggle:ActionBarDrawerToggle

overridefunonCreate(savedInstanceState:Bundle?){

te(savedInstanceState)

mBinding=e(layoutInflater)

setContentView()

setSupportActionBar(nuEbook)

initialData()

}

privatefuninitialData(){

//初使化侧边栏监听事件

mDrawerToggle=ActionBarDrawerToggle(this,Ebook,nuEbook,awerContentDesc,rawerContentDesc)

ate()

//绑定侧边栏监听事件

werListener(mDrawerToggle)

//侧边栏菜单图标颜⾊恢复正常,⽽⾮默认的灰⾊

onTintList=null

//绑定侧边栏菜单点击事件

igationItemSelectedListener{item:MenuItem->

when(){

_drawer_ebook_setting->showSnackBar(tionEbook,"menu_drawer_setting")

_drawer_ebook_close->finish()

}

true

}

}

更多推荐

layout_gravity