Commit 8df7d04a by 段启岩

优化底部导航

parent 024a5d0e
......@@ -29,6 +29,7 @@ import cn.yunliyunwai.beyondclouds.viewmodel.MainActivityViewModel;
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 List<Fragment> fragments;
......@@ -58,6 +59,10 @@ public class MainActivity extends BaseActivity<MainActivityViewModel, ActivityMa
}
private void initBottomNavigation(Bundle savedInstanceState) {
binding.bottomNavigationView.setOnNavigationItemSelectedListener(this);
binding.bottomNavigationView.setOnNavigationItemReselectedListener(this);
binding.bottomNavigationView.setItemIconTintList(null);
fragments = new ArrayList<>(5);
fragments.add(new HomeFragment());
fragments.add(new ProjectFragment());
......@@ -67,17 +72,19 @@ public class MainActivity extends BaseActivity<MainActivityViewModel, ActivityMa
if (null != savedInstanceState) {
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 {
switchFragment(0);
}
binding.bottomNavigationView.setOnNavigationItemSelectedListener(this);
binding.bottomNavigationView.setOnNavigationItemReselectedListener(this);
binding.bottomNavigationView.setItemIconTintList(null);
}
@Override
......@@ -141,7 +148,7 @@ public class MainActivity extends BaseActivity<MainActivityViewModel, ActivityMa
if (fragments.get(index).isAdded()) {
transaction.show(fragments.get(index));
} 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();
......
......@@ -5,7 +5,6 @@ import android.text.InputType;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.Toast;
import androidx.annotation.NonNull;
import androidx.annotation.Nullable;
......@@ -74,17 +73,6 @@ public class HomeFragment extends BaseFragment<HomeFragmentViewModel, FragmentHo
}
});
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;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.Toast;
import androidx.annotation.NonNull;
import androidx.annotation.Nullable;
......@@ -63,18 +62,6 @@ public class ProjectFragment extends BaseFragment<ProjectFragmentViewModel, Frag
}, binding.magicIndicator, binding.viewPager, viewModel, false);
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
......
......@@ -27,6 +27,9 @@
android:layout_width="match_parent"
android:layout_height="wrap_content"
app:layout_constraintBottom_toBottomOf="parent"
app:itemBackground="@null"
app:itemHorizontalTranslationEnabled="false"
app:itemIconTint="@null"
app:itemIconSize="22dp"
app:menu="@menu/bottom_menu"
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