Для расширения работы `BottomNavigationView` на другие активности помимо `MainActivity`, вам потребуется выполнить следующие шаги:
1. Создайте класс `BottomNavigationActivity`, который будет являться базовым классом для всех активностей, использующих `BottomNavigationView`. В этом классе вы можете реализовать общую логику, связанную с `BottomNavigationView`.
```java
public class BottomNavigationActivity extends AppCompatActivity implements BottomNavigationView.OnNavigationItemSelectedListener {
protected BottomNavigationView bottomNavigationView;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_bottom_navigation);
bottomNavigationView = findViewById(R.id.bottom_navigation);
bottomNavigationView.setOnNavigationItemSelectedListener(this);
}
@Override
public boolean onNavigationItemSelected(@NonNull MenuItem item) {
// Обработайте выбранную позицию элемента в BottomNavigationView
int id = item.getItemId();
if (id == R.id.action_home) {
// Обработайте переход на главную активность
startActivity(new Intent(this, MainActivity.class));
} else if (id == R.id.action_profile) {
// Обработайте переход на активность профиля
startActivity(new Intent(this, ProfileActivity.class));
}
// Возврат true показывает, что событие было обработано
return true;
}
}
```
2. Создайте новую активность (например, `ProfileActivity`), и унаследуйтесь от класса `BottomNavigationActivity`.
```java
public class ProfileActivity extends BottomNavigationActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_profile);
// Дополнительные действия для активности профиля
}
// Если необходимо, можно переопределить другие методы из базового класса
}
```
3. В новой активности необходимо создать свою реализацию `BottomNavigationView`, расположив его в разметке активности и инициализировав его в методе `onCreate`.
```xml
<androidx.constraintlayout.widget.ConstraintLayout 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"
tools:context=".ProfileActivity">
<!-- Дополнительные компоненты разметки активности профиля -->
<com.google.android.material.bottomnavigation.BottomNavigationView
android:id="@+id/bottom_navigation"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_alignParentBottom="true"
app:menu="@menu/bottom_navigation_menu" />
</androidx.constraintlayout.widget.ConstraintLayout>
```
Теперь у вас будет возможность использовать `BottomNavigationView` и в `MainActivity`, и в `ProfileActivity`, а также настраивать переходы между активностями с использованием `BottomNavigationView`.