首页 > 解决方案 > Android如何在底部导航项周围创建圆圈

问题描述

这是我的 xml 和 java 代码

 <RelativeLayout
        android:id="@+id/activity_main"
        xmlns:android="http://schemas.android.com/apk/res/android"
        xmlns:app="http://schemas.android.com/apk/res-auto"
        xmlns:tools="http://schemas.android.com/tools"
        android:layout_width="match_parent"
        android:layout_height="match_parent">

        <FrameLayout
            android:id="@+id/frameLayout"
            android:layout_width="match_parent"
            android:layout_height="match_parent"
            android:layout_above="@+id/navigation"
            android:animateLayoutChanges="true">

        </FrameLayout>

        <android.support.design.widget.BottomNavigationView
            android:id="@+id/navigation"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:layout_alignParentBottom="true"
            app:menu="@menu/navigation"/>
    </RelativeLayout>

        private BottomNavigationView.OnNavigationItemSelectedListener mOnNavigationItemSelectedListener = new BottomNavigationView.OnNavigationItemSelectedListener() {
            @Override
            public boolean onNavigationItemSelected(@NonNull final MenuItem item) {
                switch (item.getItemId()) {
                    case R.id.home:
                        HomeFragment homeFragment=new HomeFragment();
                        android.support.v4.app.FragmentTransaction fragmentTransaction=getSupportFragmentManager().beginTransaction();
                        fragmentTransaction.replace(R.id.frameLayout,homeFragment).commit();
                        return true;

                    case R.id.navigation_stylist:
                        StylistFragment stylistsFragment=new StylistFragment();
                        android.support.v4.app.FragmentTransaction fragmentTransaction1=getSupportFragmentManager().beginTransaction();
                        fragmentTransaction1.replace(R.id.frameLayout,stylistsFragment,"FragmentName").commit();
                        stylistsFragment.setArguments(bundle);
                        return true;

                    case R.id.navigation_apps:
                        MyapptsFragment myaaptsFragment=new MyapptsFragment();
                        android.support.v4.app.FragmentTransaction fragmentTransaction2=getSupportFragmentManager().beginTransaction();
                        fragmentTransaction2.replace(R.id.frameLayout,myaaptsFragment,"FragmentName").commit();
                        return true;

                    case R.id.navigation_tips:
                        HairtipsFragment hairtipsFragment=new HairtipsFragment();
                        android.support.v4.app.FragmentTransaction fragmentTransaction3=getSupportFragmentManager().beginTransaction();
                        fragmentTransaction3.replace(R.id.frameLayout,hairtipsFragment,"FragmentName").commit();
                        return true;

                    case R.id.navigation_account:
                        AccountFragment accountFragment=new AccountFragment();
                        android.support.v4.app.FragmentTransaction fragmentTransaction4=getSupportFragmentManager().beginTransaction();
                        fragmentTransaction4.replace(R.id.frameLayout,accountFragment,"FragmentName").commit();
                        return true;
                }
                return false;
            }
        };

        @Override
        protected void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            setContentView(R.layout.activity_home);

             BottomNavigationView navigation = findViewById(R.id.navigation);
            navigation.setOnNavigationItemSelectedListener(mOnNavigationItemSelectedListener);
            BottomNavigationViewHelper.disableShiftMode(navigation);


            //open home fragment on first launch
            HomeFragment homeFragment=new HomeFragment();
            android.support.v4.app.FragmentTransaction fragmentTransaction=getSupportFragmentManager().beginTransaction();
            fragmentTransaction.replace(R.id.frameLayout,homeFragment).commit();

        }

Here is my xml color style code
  <color name="colorPrimary">#008F95</color>
    <color name="colorPrimaryDark">#008F95</color>
    <color name="colorAccent">#008F95</color>

 <style name="AppTheme" parent="Theme.AppCompat.Light.NoActionBar">
        <!-- Customize your theme here. -->
        <item name="colorPrimary">@color/colorPrimary</item>
        <item name="colorPrimaryDark">@color/colorPrimaryDark</item>
        <item name="colorAccent">@color/colorAccent</item>

    </style>

我想在底部导航项周围创建圆圈。我附上了图片的链接

图片在这里

当我选择图标时,它变成白色,但我没有为白色编写任何代码。我需要的实际输出是图标在选择时应该是绿色的。

标签: javaandroid

解决方案


推荐阅读