改变navigation drawer中item被选中时的样式

本文介绍了如何更改Android应用程序中Navigation Drawer的项在被选中时的样式。通过创建一个drawable目录下的selector.xml文件,并在values/color.xml中定义颜色。接着在fragment_navigation_drawer.xml的ListView设置android:listSelector引用selector.xml。如果要修改字体颜色,需在drawer_item布局文件的textview中添加android:textColor,同样引用selector.xml,但需将android:drawable替换为android:color。
摘要由CSDN通过智能技术生成

在新建android项目时使用了navigation drawer,里面item被选中时的样式不符合需求,想要自定义样式时,按下面的方法设置。

在drawable目录下新建selector.xml文件

<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
    <item android:state_pressed="true" android:drawable="@color/white" /> <!-- 选择时的颜色 -->
</selector>

其中color.xml位于res/values/

<?xml version="1.0" encoding="utf-8" ?>   
<resources>   
<color name="white">#FFFFFF</color><!--白色 -->  
</resource>  

然后在fragment_navigation_drawer.xml中ListView控件添加属性android:listSelector="@drawable/selector"。


若是需要改变字体的颜色,找到drawer_item的布局文件,添加textview属性android:tex

Android Studio,"BottomNavigationView"模板通常用于创建一个底部导航栏,它允许用户通过触摸屏幕底部的不同选项来切换界面之间的内容。当与"Navigation Drawer"结合,你可以在应用创建一个抽屉式侧边栏菜单,这在许多现代移动应用设计非常常见。 要在现有的"BottomNavigationView"模板项目添加Navigation Drawer,你需要做以下步骤: 1. **添加Navigation Drawer组件**: - 打开`activity_main.xml`布局文件。 - 在XML布局添加一个`DrawerLayout`,它是Navigation Drawer的基础容器。 - 内部添加一个`NavigationView`作为抽屉的主要内容。 ```xml <androidx.drawerlayout.widget.DrawerLayout android:id="@+id/drawer_layout" android:layout_width="match_parent" android:layout_height="match_parent"> <!-- Your BottomNavigationView here --> <com.google.android.material.bottomnavigation.BottomNavigationView android:id="@+id/bottom_nav_view" android:layout_width="match_parent" android:layout_height="wrap_content" app:menu="@menu/bottom_navigation_menu" /> <!-- The content view for the main screen --> <FrameLayout android:id="@+id/content_frame" android:layout_width="match_parent" android:layout_height="match_parent"/> </androidx.drawerlayout.widget.DrawerLayout> ``` 2. **设置Navigation Drawer内容**: - 创建一个新的菜单资源文件`@menu/bottom_navigation_menu`,添加各个选项对应的`MenuItem`和它们关联的Activity或Fragment。 3. **处理抽屉的打开与关闭**: - 在你的`Activity`或`Fragment`,需要监听`DrawerLayout`的变化,并在适当的设置`NavigationView`的当前选中项,以及管理`content_frame`的显示隐藏。 4. **初始化并绑定Navigation Drawer**: - 在`onCreate()`方法,获取`NavigationView`和`DrawerLayout`实例,并设置适配器和监听事件。 ```java NavigationView navigationView = findViewById(R.id.bottom_nav_view); NavigationViewDrawerToggle drawerToggle = new NavigationViewDrawerToggle( this, // host activity drawerLayout, // DrawerLayout object R.drawable.ic_drawer, // nav drawer icon to replace 'open抽奖' R.string.navigation_drawer_open, // "open drawer" description for accessibility R.string.navigation_drawer_close // "close drawer" description for accessibility ); drawerLayout.addDrawerListener(drawerToggle); navigationView.setNavigationItemSelectedListener(drawerToggle); ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值