0
하단 탐색 바가있는 Android 앱을 만들었습니다. 거친 하단 탐색 모음을 사용하고 각 항목에 대한 의도를 전달했습니다. 각 활동마다 다시 바텀 바를 만들었습니다. 그러나 문제는 새로운 활동이 생성되는 동안 선택한 기본 항목이 재설정되는 것입니다. 제발 도와주세요.거친 하단 바는 기본 활동을 설정하는 중입니다.
하단 탐색 바가있는 Android 앱을 만들었습니다. 거친 하단 탐색 모음을 사용하고 각 항목에 대한 의도를 전달했습니다. 각 활동마다 다시 바텀 바를 만들었습니다. 그러나 문제는 새로운 활동이 생성되는 동안 선택한 기본 항목이 재설정되는 것입니다. 제발 도와주세요.거친 하단 바는 기본 활동을 설정하는 중입니다.
대신 단편을 사용하고 바둑판을 활동에 배치하고 프레임 율로 처리해야합니다.
MainActivity.xml
<?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">
<com.roughike.bottombar.BottomBar
android:id="@+id/bottomBar"
android:layout_width="match_parent"
android:layout_alignParentBottom="true"
app:bb_tabXmlResource="@xml/bottombar_tabs"
android:layout_height="60dp"
app:bb_inActiveTabColor="@color/inActiveTabColor"
app:bb_inActiveTabAlpha="0.8"
app:bb_activeTabAlpha="1"
app:bb_showShadow="false"/>
<FrameLayout
android:id="@+id/fragment_container"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_below="@+id/imageview_logo"
android:layout_above="@id/bottomBar"
android:layout_alignParentStart="true">
</FrameLayout>
</RelativeLayout>
MainActivity.java
in your onCreate method(), do the following.
bottomBar = (BottomBar) findViewById(R.id.bottomBar);
bottomBar.selectTabAtPosition(FIRST_FRAGMENT_INDEX); //Default: FIRST
bottomBar.setOnTabSelectListener(new OnTabSelectListener() {
private int last_index = FIRST_FRAGMENT_INDEX;
@Override
public void onTabSelected(@IdRes int tabId) {
//Creating the Fragment transaction
FragmentTransaction transaction = fragmentManager.beginTransaction();
switch (tabId) {
case R.id.tab_SECOND:
if (SECOND_FRAGMENT_INDEX > last_index) {
FragmentArrayList.get(SECOND_FRAGMENT_INDEX).setEnterTransition(new Slide(Gravity.RIGHT));
//transaction.setCustomAnimations(R.animator.slide_from_right, R.animator.slide_to_left);
} else if (SECOND_FRAGMENT_INDEX < last_index) {
FragmentArrayList.get(SECOND_FRAGMENT_INDEX).setEnterTransition(new Slide(Gravity.LEFT));
//transaction.setCustomAnimations(R.animator.slide_from_left, R.animator.slide_to_right);
}
transaction.replace(R.id.fragment_container, FragmentArrayList.get(SECOND_FRAGMENT_INDEX));
last_index = SECOND_FRAGMENT_INDEX;
break;
case R.id.tab_FIRST:
if (FIRST_FRAGMENT_INDEX > last_index) {
FragmentArrayList.get(FIRST_FRAGMENT_INDEX).setEnterTransition(new Slide(Gravity.RIGHT));
//transaction.setCustomAnimations(R.animator.slide_from_right, R.animator.slide_to_left);
} else if (FIRST_FRAGMENT_INDEX < last_index) {
FragmentArrayList.get(FIRST_FRAGMENT_INDEX).setEnterTransition(new Slide(Gravity.LEFT));
//transaction.setCustomAnimations(R.animator.slide_from_left, R.animator.slide_to_right);
}
transaction.replace(R.id.fragment_container, FragmentArrayList.get(FIRST_FRAGMENT_INDEX));
last_index = FIRST_FRAGMENT_INDEX;
break;
case R.id.tab_THIRD:
if (THIRD_FRAGMENT_INDEX > last_index) {
FragmentArrayList.get(THIRD_FRAGMENT_INDEX).setEnterTransition(new Slide(Gravity.RIGHT));
//transaction.setCustomAnimations(R.animator.slide_from_right, R.animator.slide_to_left);
} else if (THIRD_FRAGMENT_INDEX < last_index) {
FragmentArrayList.get(THIRD_FRAGMENT_INDEX).setEnterTransition(new Slide(Gravity.LEFT));
//transaction.setCustomAnimations(R.animator.slide_from_left, R.animator.slide_to_right);
}
transaction.replace(R.id.fragment_container, FragmentArrayList.get(THIRD_FRAGMENT_INDEX));
last_index = THIRD_FRAGMENT_INDEX;
break;
case R.id.tab_FOURTH:
if (FOURTH_FRAGMENT_INDEX > last_index) {
FragmentArrayList.get(FOURTH_FRAGMENT_INDEX).setEnterTransition(new Slide(Gravity.RIGHT));
//transaction.setCustomAnimations(R.animator.slide_from_right, R.animator.slide_to_left);
} else if (FOURTH_FRAGMENT_INDEX < last_index) {
FragmentArrayList.get(FOURTH_FRAGMENT_INDEX).setEnterTransition(new Slide(Gravity.LEFT));
//transaction.setCustomAnimations(R.animator.slide_from_left, R.animator.slide_to_right);
}
transaction.replace(R.id.fragment_container, FragmentArrayList.get(FOURTH_FRAGMENT_INDEX));
last_index = FOURTH_FRAGMENT_INDEX;
break;
}
transaction.commit();
}
});
에 오신 것을 환영합니다 SO :
는 다음 코드처럼 뭔가를 얻을 수 있습니다! [좋은 질문을하는 방법] (http://stackoverflow.com/help/how-to-ask)을 방문하여 [최소한의 완전하고 검증 가능한 예제] (http://stackoverflow.com/help/mcve)를 제공하십시오.) 당신이 지금까지 가지고있는 것의. – Olaia