私のプロジェクトでは、デザインサポートライブラリ25のボトムナビゲーションビューを実装しました。私はビューに5つのアイコンがあります。アイコンが選択されるたびにアニメーションがいくつかあります。しかし、3つ以下のアイコンがアニメーションを表示していないとき。私はそのアニメーションを削除したいと思うし、アイコンの色の変更だけが必要です。どうすればこれを達成できますか?十分なグーグルを行ったが、解決策を見つけることができなかった。助けてください。ありがとう。アンドロイドの下部ナビゲーションビューのアイコンアニメーションを削除するには
答えて
回答はこちらからthreadです。
アニメーションまたはシフトモードを削除します。
BottomNavigationView
の実装には、次の条件があります。3つ以上のアイテムがある場合、シフトモードを使用します。
ヘルパークラスを作成します
import android.support.design.internal.BottomNavigationItemView;
import android.support.design.internal.BottomNavigationMenuView;
import android.support.design.widget.BottomNavigationView;
import android.util.Log;
import java.lang.reflect.Field;
public class BottomNavigationViewHelper {
public static void disableShiftMode(BottomNavigationView view) {
BottomNavigationMenuView menuView = (BottomNavigationMenuView) view.getChildAt(0);
try {
Field shiftingMode = menuView.getClass().getDeclaredField("mShiftingMode");
shiftingMode.setAccessible(true);
shiftingMode.setBoolean(menuView, false);
shiftingMode.setAccessible(false);
for (int i = 0; i < menuView.getChildCount(); i++) {
BottomNavigationItemView item = (BottomNavigationItemView) menuView.getChildAt(i);
//noinspection RestrictedApi
item.setShiftingMode(false);
// set once again checked value, so view will be updated
//noinspection RestrictedApi
item.setChecked(item.getItemData().isChecked());
}
} catch (NoSuchFieldException e) {
Log.e("BNVHelper", "Unable to get shift mode field", e);
} catch (IllegalAccessException e) {
Log.e("BNVHelper", "Unable to change value of shift mode", e);
}
}
}
使用
BottomNavigationView bottomNavigationView = (BottomNavigationView) findViewById(R.id.bottom_navigation_bar);
BottomNavigationViewHelper.disableShiftMode(bottomNavigationView);
こんにちは、このquetionとANSをありがとうございましたこれは完璧ですが、私はまだアイコンの色に苦しんでいます、私のデフォルトのアイコンは黒ですが、それは明るい黒を表示し、アイコンをクリックすると色が白に変わります。 –
なぜこれが私のアプリではうまくいかないのか分かりませんが(今私は何時間も苦労しています) – pamobo0609
アイテムをクリックするとアニメーションが無効になることがあります。 –
BottomNavigationViewEx標準BottomNavigationViewに良い拡張機能です。 enableShiftingMode(false)はあなたのための仕事です。
- 1. アンドロイドの下部ナビゲーションビューのテキストを削除する
- 2. 下部ナビゲーションビューのアイコンのパディングを削除します。
- 3. アンドロイドのツールバーの下にあるナビゲーションビュー
- 4. アンドロイド下部の仕切りを削除するリストビュー
- 5. ナビゲーションビューの「スタック」を削除するXcode swift
- 6. アンドロイドの下部ディバイダを削除します。ExpandedListView
- 7. サブメニューを下部ナビゲーションビューに追加する方法
- 8. ページ下部の水平バーを削除するには?
- 9. JavaFX borderpane上部と下部の境界線を削除する
- 10. Android Nマルチウィンドウモードでナビゲーションビューのトップパディングを削除する
- 11. アンドロイドの断片のナビゲーションビューを追加するには?
- 12. 再度ツールバーと下部のナビゲーションビューを表示
- 13. ナビゲーションビューは、以下のアプリバーのレイアウトと
- 14. 下部のナビゲーションビュー:デフォルトの変更は、上記のようにアプリが
- 15. 円のdivの一部を下から削除する
- 16. 下部ナビゲーションビューで選択したタブの色
- 17. 返信時にフラグメントが更新されない - 下部ナビゲーションビュー
- 18. アンドロイドでrectangeの横の線の一部を削除します
- 19. フッタの下部の仕切りをアンドロイドリストビューで削除するには
- 20. RadEditor下部の空き領域を削除する方法
- 21. JRXMLサブレポート - 下部の繰り返しヘッダーを削除する
- 22. JTableの下部から余分な空白を削除するには?
- 23. 折りたたみツールバーの下部空白を削除するには?
- 24. アンドロイドのアイコンフォントを使用してナビゲーションビューのメニューにアイコンを使用するには
- 25. アンドロイドの画面下部にポップアップウィンドウを作成する方法は?
- 26. 上部と下部のパッド記号を正しく削除する方法
- 27. PhoneGapとiPhone 5:上部と下部の黒い縞を削除する
- 28. Android - 下のナビゲーションビューを動的に追加する
- 29. Android NavigationView MenuItemアイコンアニメーション
- 30. ビューコントローラの下部にある灰色のバーを削除します - iOS
可能な重複は、[BottomNavigationViewシフトモードを無効にする方法は?](https://stackoverflow.com/questions/40176244/how-to-disable-bottomnavigationview-shift-mode) –