728x90
반응형
**menu_botton.xml**
<?xml version="1.0" encoding="utf-8"?>
<menu xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto">
<!-- app:showAsAction="ifRoom" 공간이 있으면 보여줘라 의미
-->
<item
android:id="@+id/tab1"
app:showAsAction="ifRoom"
android:enabled="true"
android:icon="@android:drawable/ic_dialog_email"
android:title="이메일"
/>
<item
android:id="@+id/tab2"
app:showAsAction="ifRoom"
android:enabled="true"
android:icon="@android:drawable/ic_dialog_info"
android:title="정보"
/>
<item
android:id="@+id/tab3"
app:showAsAction="ifRoom"
android:enabled="true"
android:icon="@android:drawable/ic_dialog_map"
android:title="위치"
/>
</menu>
**activity_main.xml**
<?xml version="1.0" encoding="utf-8"?>
<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=".MainActivity">
<FrameLayout
android:id="@+id/container"
android:layout_width="match_parent"
android:layout_height="match_parent"
app:layout_behavior="@string/appbar_scrolling_view_behavior"
>
</FrameLayout>
<com.google.android.material.bottomnavigation.BottomNavigationView
android:id="@+id/bottom_navigation"
android:layout_width="match_parent"
android:layout_height="wrap_content"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="@+id/container"
app:layout_constraintStart_toStartOf="parent"
app:itemBackground="@color/colorPrimary"
app:itemIconTint="@drawable/item_color"
app:itemTextColor="@drawable/item_color"
app:menu="@menu/menu_botton"
/>
</androidx.constraintlayout.widget.ConstraintLayout>
**item_color.xml**
<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:color ="#51032d" android:state_checked="true"/>
<item android:color="#CFD8DC"/>
<!--여기서 state_cheked 선택된 상태이면 위에 색
아니면 아래색을 보여달라라는 뜻-->
</selector>
**MainActivity.java **
package com.threedpit.mytab2;
import androidx.annotation.NonNull;
import androidx.appcompat.app.AppCompatActivity;
import android.os.Bundle;
import android.view.MenuItem;
import com.google.android.material.bottomnavigation.BottomNavigationView;
public class MainActivity extends AppCompatActivity {
Fragment1 fragment1;
Fragment2 fragment2;
Fragment3 fragment3;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
fragment1 = new Fragment1();
fragment2 =new Fragment2();
fragment3 = new Fragment3();
//위와같이 일단 선언을 해주고 아래 와같이 우선 프래그먼트1화면 먼저 보여주게 설정
getSupportFragmentManager().beginTransaction().replace(R.id.container,fragment1).commit();
//아이템이 선택 되었을때 가 이 메소드가 실행되는 시점
BottomNavigationView bottomNavigationView = findViewById(R.id.bottom_navigation);
bottomNavigationView.setOnNavigationItemSelectedListener(new BottomNavigationView.OnNavigationItemSelectedListener() {
@Override
public boolean onNavigationItemSelected(@NonNull MenuItem item) {
switch (item.getItemId()){
case R.id.tab1:
getSupportFragmentManager().beginTransaction().replace(R.id.container,fragment1).commit();
return true;
case R.id.tab2:
getSupportFragmentManager().beginTransaction().replace(R.id.container,fragment2).commit();
return true;
case R.id.tab3:
getSupportFragmentManager().beginTransaction().replace(R.id.container,fragment3).commit();
return true;
}
return false;
}
});
}
}
728x90
반응형
'안드로이드(Android)' 카테고리의 다른 글
안드로이드 이론 빡공 16 (0) | 2020.06.24 |
---|---|
안드로이드 이론 빡공 15 (0) | 2020.06.23 |
안드로이드 이론 빡공 13 (0) | 2020.06.19 |
안드로이드 이론 빡공 12 (0) | 2020.06.19 |
안드로이드 이론 빡공 11 (0) | 2020.06.17 |
댓글