반응형
implementation 'com.google.android.material:material:1.0.0'
<?xml version="1.0" encoding="utf-8"?>
<menu xmlns:android="http://schemas.android.com/apk/res/android">
<item
android:id="@+id/action_home"
android:enabled="true"
android:icon="@drawable/ic_baseline_home_24"
android:title="홈"/>
<item
android:id="@+id/action_chat"
android:enabled="true"
android:icon="@drawable/ic_baseline_chat_24"
android:title="채팅"/>
<item
android:id="@+id/action_createNew"
android:enabled="true"
android:icon="@drawable/ic_baseline_create_new_folder_24"
android:title="만들기"/>
<item
android:id="@+id/action_setting"
android:enabled="true"
android:icon="@drawable/ic_baseline_settings_24"
android:title="설정"/>
</menu>
enabled : 버튼활성화
package grocery.gohool.bottomnavi;
import android.os.Bundle;
import android.view.MenuItem;
import androidx.annotation.NonNull;
import androidx.appcompat.app.AppCompatActivity;
import androidx.fragment.app.FragmentManager;
import androidx.fragment.app.FragmentTransaction;
import com.google.android.material.bottomnavigation.BottomNavigationView;
public class MainActivity extends AppCompatActivity {
private BottomNavigationView bottomNavigationMenu;
private FragmentManager fm;
private FragmentTransaction ft;
private Fragment1 frag1;
private Fragment2 frag2;
private Fragment3 frag3;
private Fragment4 frag4;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
bottomNavigationMenu = (BottomNavigationView) findViewById(R.id.bottomMenu);
bottomNavigationMenu.setOnNavigationItemSelectedListener(new BottomNavigationView.OnNavigationItemSelectedListener() {
@Override
public boolean onNavigationItemSelected(@NonNull MenuItem item) {
switch (item.getItemId()){
case R.id.action_home:
setFrag(0);
break;
case R.id.action_chat:
setFrag(1);
break;
case R.id.action_createNew:
setFrag(2);
break;
case R.id.action_setting:
setFrag(3);
break;
}
return true;
}
});
frag1 = new Fragment1();
frag2 = new Fragment2();
frag3 = new Fragment3();
frag4 = new Fragment4();
setFrag(0); // 첫 화면;
}
//프레그먼트 교체가 일어나는 실행문이다.
private void setFrag(int n){
fm = getSupportFragmentManager();
ft = fm.beginTransaction();
switch (n){
case 0:
ft.replace(R.id.frame, frag1);
ft.commit();
break;
case 1:
ft.replace(R.id.frame, frag2);
ft.commit();
break;
case 2:
ft.replace(R.id.frame, frag3);
ft.commit();
break;
case 3:
ft.replace(R.id.frame, frag4);
ft.commit();
break;
}
}
}
Java에서 초기화 뜻은?
- 선언한 객체에 최초로 값을 넣어주는 것
자바에서 초기화 하는 이유는?
- 클래스 영역에서 선언할 경우에는
컴파일러가 자동으로 값 할당을 해주나
메소드 영역에서 선언할 경우에는
자동으로 값이 할당되지 않기 때문에
에러가 발생해서 그렇다
반응형
'개발언어 > JAVA' 카테고리의 다른 글
데이터베이스 MySQL (0) | 2020.12.28 |
---|---|
안드로이드 로그인 + 회원가입 만들기 (0) | 2020.12.27 |
안드로이드 슬라이드메뉴 + fragment (0) | 2020.12.26 |
안드로이드 Fragment (0) | 2020.12.25 |
안드로이드 생명주기 (0) | 2020.12.25 |