Öncelikle bottombar üzerindeki iconları tutmak için res klasörü aldında new resource directory diyerek menu klasörü oluşturuyoruz. menu klasörünün altındaki xml'imiz aşağıdaki şekilde olucak
bottom_navigation.xml
<?xml version="1.0" encoding="utf-8"?>
<menu
xmlns:android="http://schemas.android.com/apk/res/android">
<item
android:id="@+id/icon_bir"
android:icon="@drawable/icon_bir"
android:title="@string/icon_bir"/>
<item
android:id="@+id/icon_iki"
android:icon="@drawable/icon_iki"
android:title="@string/icon_iki"/>
<item
android:id="@+id/icon_uc"
android:icon="@drawable/icon_uc"
android:title="@string/icon_uc"/>
<item
android:id="@+id/icon_dort"
android:icon="@drawable/icon_dort"
android:title="@string/icon_dort"/>
</menu>
activity_main.xml
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout android:id="@+id/activity_main"
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">
<FrameLayout
android:id="@+id/rootLayout"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_above="@+id/bottom_navigation"
android:orientation="vertical">
</FrameLayout>
<android.support.design.widget.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"/>
</RelativeLayout>
BottomBarın bulunduğu ana yapı yukarıda görüldüğü gibi. Bottom bar içinde kullanacağın her bir icon içinde bir fragment oluşturman lazım. Misal aşağıdaki gibi.
birinci.fragment
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="@android:color/holo_blue_dark" (burada herbirine arka plan rengini farklı atarsan sayfa geçişlerinin olup olmadığını rahatlıkla görebilirsin )
android:gravity="center"
android:orientation="vertical">
<TextView
android:id="@+id/textView"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:gravity="center" />
</LinearLayout>
Java kısmı ise
BirinciFragment.java
public class BirinciFragment extends Fragment {
@Nullable
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
return inflater.inflate(R.layout.birinci_fragment, container, false);
} }
MainActivity.java
public class MainActivity extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
setupNavigationView();
}
private void setupNavigationView() {
BottomNavigationView bottomNavigationView = (BottomNavigationView) findViewById(R.id.bottom_navigation);
if (bottomNavigationView != null) {
Menu menu =bottomNavigationView.getMenu();
selectFragment(menu.getItem(0));
bottomNavigationView.setOnNavigationItemSelectedListener( new BottomNavigationView.OnNavigationItemSelectedListener() {
@Override
bottomNavigationView.setOnNavigationItemSelectedListener( new BottomNavigationView.OnNavigationItemSelectedListener() {
@Override public boolean onNavigationItemSelected(@NonNull MenuItem item) {
selectFragment(item);
return false; }
});
} }
protected void selectFragment(MenuItem item) {
item.setChecked(true);
switch (item.getItemId()) {
case R.id.icon_bir:
pushFragment(new BirinciFragment());
break;
case R.id.icon_iki:
pushFragment(new IkinciFragment());
break;
case R.id.icon_uc:
pushFragment(new UcuncuFragment());
break;
case R.id.icon_dort:
pushFragment(new DorduncuFragment());
break;
} }
protected void pushFragment(Fragment fragment) {
if (fragment == null)
return;
FragmentManager fragmentManager = getFragmentManager();
if (fragmentManager != null) {
FragmentTransaction ft = fragmentManager.beginTransaction();
if (ft != null) {
ft.replace(R.id.rootLayout, fragment);
ft.commit();
} }
} }
Attığın ekran görüntülerini göremedim ama bu sorununa çözüm olacaktır. İyi çalışmalar :)