我的< code > bottomNavigationView 中有三个项目
当我点击配置文件项时,代码会检查此人是否已登录。如果此人未登录,则我需要启动一个新的活动
否则我需要在我的frameLayout
中加载一个片段
。
现在的问题是,当我点击个人资料项目,该人没有登录,然后活动开始,但当我点击回来,然后个人资料项目被突出显示,但家庭片段加载在框架布局中。
我已经尝试了以下方法来解决这个问题
1) 我使用setSelectedItemId
设置单击配置文件项时的项目颜色,但它不起作用
有没有其他方法可以做到这一点?
你可以试试
<android.support.design.widget.BottomNavigationView
android:id="@+id/navigation"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="@drawable/toolbar_background"
app:itemIconTint="@color/bottom_nac_color"
app:itemTextColor="@color/bottom_nac_color"
app:menu="@menu/bottom_navigation_main" />
这里@color/bottom_nac_color
是您要在屏幕上显示的颜色
希望它起作用
试试这个。
将选择器
添加到您的代码中。
<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:color="@android:color/holo_green_light" android:state_checked="true"/>
<item android:color="@android:color/black" android:state_checked="false"/>
</selector>
然后添加xml代码。
<android.support.design.widget.BottomNavigationView
android:id="@+id/navigation"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_gravity="bottom"
app:itemIconTint="@drawable/selector_navigation"
app:itemTextColor="@drawable/selector_navigation"
app:menu="@menu/menu_navigation"/>
注意
// icon
app:itemIconTint="@drawable/selector_navigation"
// text
app:itemTextColor="@drawable/selector_navigation"
我终于想好了该怎么做,我在这里分享
如果不想更改项目的颜色,则需要返回false
bottomNavigationView.setOnNavigationItemSelectedListener(
new BottomNavigationView.OnNavigationItemSelectedListener() {
@Override
public boolean onNavigationItemSelected(@NonNull MenuItem item) {
switch (item.getItemId()) {
case R.id.action_home:
HomeFragment fav_frag = new HomeFragment();
currentFragment = fav_frag;
loadfragment(fav_frag);
break;
case R.id.action_designers:
break;
case R.id.action_profile:
if(PreferenceManager.getDefaultSharedPreferences(BaseActivity.this).getString("customer_id","").equalsIgnoreCase("")){
Intent intent=new Intent(BaseActivity.this,LoginActivity.class);
intent.putExtra("Target","Profile");
startActivity(intent);
overridePendingTransition(R.anim.slide_up,R.anim.stable);
// Here is the key , you need to return false when you don't want to change the items color
return false;
}else {
ProfileFragment accountFragment = new ProfileFragment();
currentFragment=accountFragment;
loadfragment(accountFragment);
}
break;
}
return true;
}
});
我在我的应用程序中添加了。 主要的xml bottom\u navigation\u main。xml 主活动单击 我想更改所选位置底部导航的图标。当用户单击一个项目时,我们如何实现此功能? (如果用户单击了一个项目,则图标将更改为另一个项目)
底部导航上的选定项目不会在区域设置更改文本本身更改时更改,但选定项目仍然是区域设置更改前的旧项目,它应该是最后一个元素而不是最后一个元素,更改区域设置的动作发生在单独的片段上,导航底部存在于主活动上,它们之间没有通信我试图覆盖onConfigurationChange方法,在它上没有被调用,最好的做法是什么。
我的天气应用程序上有一个底部导航视图,其中包含3个面板(今天,每小时 以下是问题的说明: 我希望无论单击那些导航视图,数据都保持不变。 我试过使用https://stackoverflow.com/a/60201555/16020235建议但它失败了,只有一个例外: 我发现很难实现他的代码,关于这个问题的其余建议都是用kotlin编写的。 拜托我该怎么解决这件事? 以下是我的代码: my_nav.
我想在切换项目时切换到底部导航视图的图标。 我有浅蓝色图标和深蓝色图标的选定项目。我正在为每个导航项目使用选择器drawable,但我看到下面这样的图像,灰色为非活动图像,蓝色为活动图像 这是我的代码 bottom_nav_menu 家 和选择器 计划程序选择器 设置选择器 收藏夹选择器 首页选择器 活动代码 我做错了什么?请帮助。。。 编辑:我正在使用以下绘图工具 在此处输入链接描述 在此处输入
我想更改android手机本机底部导航的颜色。就像下面的图片一样,它是完全黑暗的。这真的有可能吗?如果是,我该怎么做? 非常感谢。
我正在向项目中添加一个底部导航视图(BottomNavigationView),我希望所选选项卡具有不同的文本(和图标色调)(以实现灰显非所选选项卡的效果)。在颜色选择器资源文件中对android:state\u selected=“true”使用不同的颜色似乎不起作用。我还尝试使用android:state\u-focused=“true”或android:state\u-enabled=“tr
我遇到了一个问题,当深度链接到第二级片段时,导航UI没有选择正确的底部导航视图项。 我的意思是: 选择fragment_reading_lists:选择正确的底部导航项 从fragment_reading_lists导航- 当我深入链接到fragment\u discover\u landing时会发生什么?选择默认的底部导航项目。 是否有方法通知底部导航适配器在此实例中应选择哪个项目? 这是我的
我的应用程序有问题。我有一个底部导航视图,包含3个不同的片段,尽管目前只有主要的内容。当我试图从左侧的两个片段中的一个移动到主视图时,问题就出现了,即当底部导航视图被隐藏时。我附上了主代码。 PD:我有25.3.1版本的所有库(如果有用的话)。 感谢您的关注。 activity\u main。xml 主要活动。Java语言 我也给你添加了两张图片。 Ofertas片段 主片段