Commit 8df7d04a by 段启岩

优化底部导航

parent 024a5d0e
...@@ -29,6 +29,7 @@ import cn.yunliyunwai.beyondclouds.viewmodel.MainActivityViewModel; ...@@ -29,6 +29,7 @@ import cn.yunliyunwai.beyondclouds.viewmodel.MainActivityViewModel;
public class MainActivity extends BaseActivity<MainActivityViewModel, ActivityMainBinding> implements BottomNavigationView.OnNavigationItemSelectedListener, BottomNavigationView.OnNavigationItemReselectedListener { public class MainActivity extends BaseActivity<MainActivityViewModel, ActivityMainBinding> implements BottomNavigationView.OnNavigationItemSelectedListener, BottomNavigationView.OnNavigationItemReselectedListener {
private static final String MAIN_NAV_FRAGMENT_TAG_PREFIX = "main_nav_fragment:";
private static final String TAG = MainActivity.class.getCanonicalName(); private static final String TAG = MainActivity.class.getCanonicalName();
private List<Fragment> fragments; private List<Fragment> fragments;
...@@ -58,6 +59,10 @@ public class MainActivity extends BaseActivity<MainActivityViewModel, ActivityMa ...@@ -58,6 +59,10 @@ public class MainActivity extends BaseActivity<MainActivityViewModel, ActivityMa
} }
private void initBottomNavigation(Bundle savedInstanceState) { private void initBottomNavigation(Bundle savedInstanceState) {
binding.bottomNavigationView.setOnNavigationItemSelectedListener(this);
binding.bottomNavigationView.setOnNavigationItemReselectedListener(this);
binding.bottomNavigationView.setItemIconTintList(null);
fragments = new ArrayList<>(5); fragments = new ArrayList<>(5);
fragments.add(new HomeFragment()); fragments.add(new HomeFragment());
fragments.add(new ProjectFragment()); fragments.add(new ProjectFragment());
...@@ -67,17 +72,19 @@ public class MainActivity extends BaseActivity<MainActivityViewModel, ActivityMa ...@@ -67,17 +72,19 @@ public class MainActivity extends BaseActivity<MainActivityViewModel, ActivityMa
if (null != savedInstanceState) { if (null != savedInstanceState) {
for (Fragment fragment : getSupportFragmentManager().getFragments()) { for (Fragment fragment : getSupportFragmentManager().getFragments()) {
fragments.set(Integer.valueOf(fragment.getTag()), fragment); String tag = fragment.getTag();
if (tag.startsWith(MAIN_NAV_FRAGMENT_TAG_PREFIX)) {
fragments.set(Integer.valueOf(tag.replace(MAIN_NAV_FRAGMENT_TAG_PREFIX, "")), fragment);
}
}
if (binding.getViewModel().getCurrentIndex() != -1) {
switchFragment(binding.getViewModel().getCurrentIndex());
} else {
switchFragment(0);
} }
switchFragment(binding.getViewModel().getCurrentIndex());
} else { } else {
switchFragment(0); switchFragment(0);
} }
binding.bottomNavigationView.setOnNavigationItemSelectedListener(this);
binding.bottomNavigationView.setOnNavigationItemReselectedListener(this);
binding.bottomNavigationView.setItemIconTintList(null);
} }
@Override @Override
...@@ -141,7 +148,7 @@ public class MainActivity extends BaseActivity<MainActivityViewModel, ActivityMa ...@@ -141,7 +148,7 @@ public class MainActivity extends BaseActivity<MainActivityViewModel, ActivityMa
if (fragments.get(index).isAdded()) { if (fragments.get(index).isAdded()) {
transaction.show(fragments.get(index)); transaction.show(fragments.get(index));
} else { } else {
transaction.add(R.id.fragment_container, fragments.get(index), String.valueOf(index)); transaction.add(R.id.fragment_container, fragments.get(index), MAIN_NAV_FRAGMENT_TAG_PREFIX + String.valueOf(index));
} }
transaction.commit(); transaction.commit();
......
...@@ -5,7 +5,6 @@ import android.text.InputType; ...@@ -5,7 +5,6 @@ import android.text.InputType;
import android.view.LayoutInflater; import android.view.LayoutInflater;
import android.view.View; import android.view.View;
import android.view.ViewGroup; import android.view.ViewGroup;
import android.widget.Toast;
import androidx.annotation.NonNull; import androidx.annotation.NonNull;
import androidx.annotation.Nullable; import androidx.annotation.Nullable;
...@@ -74,17 +73,6 @@ public class HomeFragment extends BaseFragment<HomeFragmentViewModel, FragmentHo ...@@ -74,17 +73,6 @@ public class HomeFragment extends BaseFragment<HomeFragmentViewModel, FragmentHo
} }
}); });
binding.searchBar.setInputType(InputType.TYPE_NULL); binding.searchBar.setInputType(InputType.TYPE_NULL);
binding.searchBar.setInputFocusListener(new View.OnFocusChangeListener() {
@Override
public void onFocusChange(View v, boolean hasFocus) {
if (!hasFocus) {
return;
}
Toast.makeText(v.getContext(), "点击了搜索框", Toast.LENGTH_SHORT).show();
v.clearFocus();
}
});
} }
......
...@@ -5,7 +5,6 @@ import android.text.InputType; ...@@ -5,7 +5,6 @@ import android.text.InputType;
import android.view.LayoutInflater; import android.view.LayoutInflater;
import android.view.View; import android.view.View;
import android.view.ViewGroup; import android.view.ViewGroup;
import android.widget.Toast;
import androidx.annotation.NonNull; import androidx.annotation.NonNull;
import androidx.annotation.Nullable; import androidx.annotation.Nullable;
...@@ -63,18 +62,6 @@ public class ProjectFragment extends BaseFragment<ProjectFragmentViewModel, Frag ...@@ -63,18 +62,6 @@ public class ProjectFragment extends BaseFragment<ProjectFragmentViewModel, Frag
}, binding.magicIndicator, binding.viewPager, viewModel, false); }, binding.magicIndicator, binding.viewPager, viewModel, false);
binding.searchBar.setInputType(InputType.TYPE_NULL); binding.searchBar.setInputType(InputType.TYPE_NULL);
binding.searchBar.setInputFocusListener(new View.OnFocusChangeListener() {
@Override
public void onFocusChange(View v, boolean hasFocus) {
if (!hasFocus) {
return;
}
Toast.makeText(v.getContext(), "点击了搜索框", Toast.LENGTH_SHORT).show();
v.clearFocus();
}
});
} }
@Override @Override
......
...@@ -27,6 +27,9 @@ ...@@ -27,6 +27,9 @@
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="wrap_content" android:layout_height="wrap_content"
app:layout_constraintBottom_toBottomOf="parent" app:layout_constraintBottom_toBottomOf="parent"
app:itemBackground="@null"
app:itemHorizontalTranslationEnabled="false"
app:itemIconTint="@null"
app:itemIconSize="22dp" app:itemIconSize="22dp"
app:menu="@menu/bottom_menu" app:menu="@menu/bottom_menu"
app:labelVisibilityMode="labeled" app:labelVisibilityMode="labeled"
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment