Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | ||||
4 | 5 | 6 | 7 | 8 | 9 | 10 |
11 | 12 | 13 | 14 | 15 | 16 | 17 |
18 | 19 | 20 | 21 | 22 | 23 | 24 |
25 | 26 | 27 | 28 | 29 | 30 | 31 |
Tags
- 정처기운영체제
- 자바예제
- ai
- 코딩
- 코딩공부
- 컴퓨터일반
- 파이썬
- 정보처리산업기사
- 안드로이드
- 파이썬배열예제
- 파이썬예제
- 백준
- 바텀네비게이션
- 업다운게임코드
- java
- 정처기
- 파이썬배열
- 안드로이드스튜디오
- 운영체제목적
- 스누핑
- 운영체제종류
- androidstudio
- It
- 파이썬리스트
- int크기
- 정처산기
- 데이터베이스
- 자바
- 프로그래밍
- bottomnavigation
Archives
- Today
- Total
발전을 위한 기록
<안드로이드스튜디오> actvity를 이용한 BottomNavigation 본문
728x90
기록을 위한 게시물이므로 자세한 설명은 없다.
1. activity_main.xml
main화면 구성
<?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"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context=".MainActivity">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Home"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintLeft_toLeftOf="parent"
app:layout_constraintRight_toRightOf="parent"
android:textSize="40dp"
android:gravity="center"
android:layout_marginTop="200dp"
android:layout_marginLeft="80dp"
app:layout_constraintTop_toTopOf="parent" />
<com.google.android.material.bottomnavigation.BottomNavigationView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:id="@+id/bottom_navigation"
android:background="@color/colorAccent"
app:itemTextColor="@drawable/selector"
app:itemIconTint="@drawable/selector"
android:layout_alignParentBottom="true"
app:menu="@menu/menu_navigation"/>
</RelativeLayout>
2. 다른 화면 구성
activity main 과 동일한 코드로 다른 화면 구성
3. MainActivity
import androidx.annotation.NonNull;
import androidx.appcompat.app.AppCompatActivity;
import android.content.Intent;
import android.os.Bundle;
import android.view.MenuItem;
import com.google.android.material.bottomnavigation.BottomNavigationView;
public class MainActivity extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
//바텀네비 설정
BottomNavigationView bottomNavigationView = findViewById(R.id.bottom_navigation);
bottomNavigationView.setSelectedItemId(R.id.home);
bottomNavigationView.setOnNavigationItemReselectedListener(new BottomNavigationView.OnNavigationItemReselectedListener() {
@Override
public void onNavigationItemReselected(@NonNull MenuItem menuItem) {
switch (menuItem.getItemId()){
case R.id.dashboard:
startActivity(new Intent(getApplicationContext(),DashBoard.class));
overridePendingTransition(0,0);
return;
case R.id.home:
return;
case R.id.about:
startActivity(new Intent(getApplicationContext(),About.class));
overridePendingTransition(0,0);
return;
}
}
});
}
}
4. AboutActivity
import androidx.annotation.NonNull;
import androidx.appcompat.app.AppCompatActivity;
import android.content.Intent;
import android.os.Bundle;
import android.view.MenuItem;
import com.google.android.material.bottomnavigation.BottomNavigationView;
public class About extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_about);
BottomNavigationView bottomNavigationView = findViewById(R.id.bottom_navigation);
bottomNavigationView.setSelectedItemId(R.id.about);
bottomNavigationView.setOnNavigationItemReselectedListener(new BottomNavigationView.OnNavigationItemReselectedListener() {
//mainactivity와 다른 부분 확인
@Override
public void onNavigationItemReselected(@NonNull MenuItem menuItem) {
switch (menuItem.getItemId()){
case R.id.dashboard:
startActivity(new Intent(getApplicationContext(),DashBoard.class));
overridePendingTransition(0,0);
return;
case R.id.home:
startActivity(new Intent(getApplicationContext(),MainActivity.class));
overridePendingTransition(0,0);
return;
case R.id.about:
return;
}
}
});
}
}
5. DashBoard activity
import androidx.annotation.NonNull;
import androidx.appcompat.app.AppCompatActivity;
import android.content.Intent;
import android.os.Bundle;
import android.view.MenuItem;
import com.google.android.material.bottomnavigation.BottomNavigationView;
public class DashBoard extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_dash_board);
BottomNavigationView bottomNavigationView = findViewById(R.id.bottom_navigation);
bottomNavigationView.setSelectedItemId(R.id.dashboard);
bottomNavigationView.setOnNavigationItemReselectedListener(new BottomNavigationView.OnNavigationItemReselectedListener() {
@Override
public void onNavigationItemReselected(@NonNull MenuItem menuItem) {
switch (menuItem.getItemId()){
case R.id.dashboard:
return;
case R.id.home:
startActivity(new Intent(getApplicationContext(),MainActivity.class));
overridePendingTransition(0,0);
return;
case R.id.about:
startActivity(new Intent(getApplicationContext(),About.class));
overridePendingTransition(0,0);
return;
}
}
});
}
}
6. 결과화면
728x90
'프로그래밍 > 안드로이드' 카테고리의 다른 글
<안드로이드스튜디오> 하단 메뉴 만들기, 화면전환 (0) | 2022.11.15 |
---|---|
<안드로이드스튜디오> 앱에 YouTube 연동하는 방법 (0) | 2022.02.27 |
<안드로이드스튜디오> activity를 이용한 BottomNavigation (간단한 디자인) (0) | 2021.07.26 |
<안드로이드스튜디오> 안드로이드 - 캘린더 뷰를 이용해 날짜 확인 (0) | 2021.07.21 |