我BottomNavigationView在我的应用程序中添加了像.
main.xml中
<android.support.design.widget.BottomNavigationView
android:id="@+id/bottom_navigation"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_alignParentBottom="true"
app:itemBackground="@color/colorPrimary"
app:itemIconTint="@color/white"
app:itemTextColor="@color/white"
app:menu="@menu/bottom_navigation_main" />
Run Code Online (Sandbox Code Playgroud)
bottom_navigation_main.xml
<?xml version="1.0" encoding="utf-8"?>
<menu xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto">
<item
android:id="@+id/action_favorites"
android:enabled="true"
android:icon="@drawable/ic_favorite_white_24dp"
android:title="@string/text_favorites"
app:showAsAction="ifRoom" />
<item
android:id="@+id/action_schedules"
android:enabled="true"
android:icon="@drawable/ic_access_time_white_24dp"
android:title="@string/text_schedules"
app:showAsAction="ifRoom" />
<item
android:id="@+id/action_music"
android:enabled="true"
android:icon="@drawable/ic_audiotrack_white_24dp"
android:title="@string/text_music"
app:showAsAction="ifRoom" />
</menu>
Run Code Online (Sandbox Code Playgroud)
MainActivity点击
bottomNavigationView.setOnNavigationItemSelectedListener(
new BottomNavigationView.OnNavigationItemSelectedListener() {
@Override
public boolean onNavigationItemSelected(@NonNull MenuItem item) {
switch (item.getItemId()) {
case R.id.action_favorites:
//need change icon of favotites here.
case R.id.action_schedules:
case R.id.action_music:
}
return true;
}
});
Run Code Online (Sandbox Code Playgroud)
我想更改所选位置底部导航的图标.当用户点击一个项目时,我们如何实现此功能?
(如果用户点击了一个项目,那么图标会变为另一个项目)
android android-layout android-support-library bottomnavigationview
BottomNavigationBar() 只能采用background和contentColor,但没有色调选项。
android kotlin bottomnavigationview android-bottomnavigationview android-jetpack-compose
我指的是这个.单击"计划"时出现"计划活动",但始终选择第一个项目颜色("收藏夹").它不会更改"收藏夹"项目颜色中的"计划"项目颜色.还有,第三项(音乐).我使用android:state_checked NOT android:state_enabled."如果使用startActivity,它不会从收藏夹项目颜色更改计划项目颜色.如果没有,它会改变颜色.如何解决这个颜色选择问题.
activity_main.xml中
app:itemIconTint="@drawable/nav_item_color_state"
app:itemTextColor="@drawable/nav_item_color_state"
app:menu="@menu/bottom_navigation_main"
Run Code Online (Sandbox Code Playgroud)
@绘制/ nav_item_color_state
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:color="@color/white" android:state_enabled="true" />
<item android:color="@color/colorPrimaryDark" android:state_enabled="false" />
</selector>
Run Code Online (Sandbox Code Playgroud) 升级到最新支持库'28.0.0-alpha1 '后,我无法禁用我的移位模式,BottomNavigationView即该BottomNavigationItemView.setShiftingMode()方法不再可用.
java.lang.NoSuchFieldException: No field mShiftingMode in class Landroid/support/design/internal/BottomNavigationMenuView;
W/System.err: at java.lang.Class.getDeclaredField(Native Method)
at com.avocure.avocurehealth.utils.ViewUtils.removeNavigationShiftMode(ViewUtils.java:44)
at com.avocure.avocurehealth.ui.main.MainActivity.init(MainActivity.java:125)
at com.avocure.avocurehealth.ui.main.MainActivity.onCreate(MainActivity.java:107)
at android.app.Activity.performCreate(Activity.java:6679)
at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1118)
at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2618)
at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2726)
at android.app.ActivityThread.-wrap12(ActivityThread.java)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1477)
at android.os.Handler.dispatchMessage(Handler.java:102)
at android.os.Looper.loop(Looper.java:154)
at android.app.ActivityThread.main(ActivityThread.java:6119)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:886)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:776)
Run Code Online (Sandbox Code Playgroud)
我使用此方法禁用换档模式.
如果有人能够了解最新版本中的某些内容是否发生了变化,或者这是一个错误还是其他什么,我们将非常感激.
我正在构建一个我有BottomNavigationView的应用程序.一切正常,直到我进入活动.
导航是这样的:
问题是它有这个默认动画,因此它每次都会推动活动元素高于其余元素.
另一个例子:
所以我的问题是如何摆脱这个默认动画,当我在它们之间切换时,每个项目都是对齐的?
我的代码:
public class MainActivity extends AppCompatActivity {
private BottomNavigationView bottomNavigationView;
private Fragment fragment;
private FragmentManager fragmentManager;
private FragmentTransaction transaction;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
setupBottomBar();
}
private void setupBottomBar() {
bottomNavigationView = (BottomNavigationView)findViewById(R.id.bottomBar);
fragmentManager = getSupportFragmentManager();
fragment = new CardDeckFragment();
transaction = fragmentManager.beginTransaction();
transaction.replace(R.id.activity_main, fragment).commit();
bottomNavigationView.setOnNavigationItemSelectedListener(new BottomNavigationView.OnNavigationItemSelectedListener() {
@Override
public boolean onNavigationItemSelected(@NonNull MenuItem item) {
switch (item.getItemId()){
case R.id.action_card_deck:{
Toast.makeText(MainActivity.this, "Card Deck Selected", Toast.LENGTH_SHORT).show();
fragment = new CardDeckFragment();
break;
}
case R.id.action_favorites:{ …Run Code Online (Sandbox Code Playgroud) 我已经实现了新的BottomNavigationView(com.android.support:design:25.0.0),并且不知道如何设置选择索引或MenuItemid(在我的情况下,默认情况下应该选择mid item).我担心现在没有这种可能性,因为它太原始了,但无论如何任何帮助都将受到赞赏.谢谢!
android selectedindex android-design-library androiddesignsupport bottomnavigationview
我已在项目中的Design Support Library 25中实现了Bottom Navigation View.我在视图中有5个图标.每当选择一个图标时,它就会有一些动画.但是当3个或更少的图标没有显示任何动画时.我想删除该动画,只需要对图标进行一些颜色更改.我怎样才能做到这一点?做了足够的谷歌搜索,但找不到解决方案.请帮忙.谢谢.
icons animation android bottomnavigationview android-bottomnav
根据材料设计规范,当键盘出现时,BottomNavigationView应该隐藏在它下面.但是,如果我android:windowSoftInputMode="adjustResize"在Activity的清单中设置BottomNavigationView了键盘上方的移动.
我需要设置adjustResize为在键盘打开时滚动到屏幕底部.但是,我不希望它BottomNavigationView是可见的.可以这样做吗?
它目前的样子:
布局XML(实际上会有一个FrameLayout在哪里,EditText并且EditText将在其中):
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:layout_width="match_parent"
android:layout_height="match_parent">
<EditText
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:hint="Input"
android:layout_gravity="center"
android:layout_centerVertical="true"/>
<android.support.design.widget.BottomNavigationView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_alignParentBottom="true"
app:itemBackground="@color/colorPrimary"
app:menu="@menu/menu_bottom_navigation"
app:itemIconTint="@android:color/white"
app:itemTextColor="@android:color/white"/>
</RelativeLayout>
Run Code Online (Sandbox Code Playgroud) 我正在尝试Flutter,我正在尝试改变BottomNavigationBar应用程序的颜色,但我所能实现的只是改变了BottomNavigationItem(图标和文本)的颜色.
这是我宣布我的地方BottomNavigationBar:
class _BottomNavigationState extends State<BottomNavigationHolder>{
@override
Widget build(BuildContext context) {
return new Scaffold(
appBar: null,
body: pages(),
bottomNavigationBar:new BottomNavigationBar(
items: <BottomNavigationBarItem>[
new BottomNavigationBarItem(
icon: const Icon(Icons.home),
title: new Text("Home")
),
new BottomNavigationBarItem(
icon: const Icon(Icons.work),
title: new Text("Self Help")
),
new BottomNavigationBarItem(
icon: const Icon(Icons.face),
title: new Text("Profile")
)
],
currentIndex: index,
onTap: (int i){setState((){index = i;});},
fixedColor: Colors.white,
),
);
}
Run Code Online (Sandbox Code Playgroud)
之前我以为我通过canvasColor在我的主应用主题上编辑绿色来解决它,但它搞砸了整个应用程序配色方案:
class MyApp extends StatelessWidget {
// This widget …Run Code Online (Sandbox Code Playgroud) 如何根据谷歌新指南(纯机器人)实现底部导航选项卡.有什么例子吗?
参考:https://www.google.com/design/spec/components/bottom-navigation.html
android android-design-library bottomnavigationview android-bottomnav