2020/12/07 - [안드로이드] - [안드로이드] SeekBar 볼륨조절, 밝기조절
이번 시간에는 메뉴를 만들어보겠습니다.
앱에서 흔하게 쓰이는 기능이죠. 보통 점 3개가 있는 이미지를 클릭하면 메뉴가 나옵니다.
메뉴는 activity_main.xml에 직접 만드는게 아니라 메뉴 전용 xml을 만들어야 합니다.
일단 메뉴폴더부터 만듭니다.
1-1 res -> Android Resource Directory
Resource Type 은 menu로 변경하고 Directory name은 menu로 합니다.
메뉴폴더를 만들었으니 이번에는 메뉴화면이 들어갈 Menu Resource FIle을 만들겠습니다.
menu -> 마우스오른쪽 -> New -> Menu Resource File
파일명은 option_menu로 하겠습니다.
option_menu.xml
showAsAction : 표시타입
always: 항상
never: 항상 안보이기
ifRoom: 공간이 있을경우 표시
withText: 아이콘과 텍스트 함께 표시
<?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">
<item android:id="@+id/item1"
android:icon="@drawable/ic_wifi"
android:title="WIFI"
app:showAsAction="ifRoom"
/>
<item android:id="@+id/item2"
android:title="item 2"
app:showAsAction="never"
/>
<item android:id="@+id/item3"
android:title="item 3"
app:showAsAction="never">
<menu>
<item android:id="@+id/subitem1"
android:title="Sub Item 1"/>
<item android:id="@+id/subitem2"
android:title="Sub Item 2"/>
</menu>
</item>
</menu>
만들어 놓은 메뉴를 이제 메인화면에 띄우는 코드를 만들어보겠습니다.
import androidx.annotation.NonNull;
import androidx.appcompat.app.AppCompatActivity;
import android.os.Bundle;
import android.view.Menu;
import android.view.MenuInflater;
import android.view.MenuItem;
import android.widget.Toast;
public class MainActivity extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
}
/**
* 메뉴 설정
* @param menu
* @return
*/
@Override
public boolean onCreateOptionsMenu(Menu menu) {
MenuInflater inflater = getMenuInflater();
inflater.inflate(R.menu.option_menu, menu);
return true;
}
/**
* 메뉴선택기능
* @param item
* @return
*/
@Override
public boolean onOptionsItemSelected(@NonNull MenuItem item) {
switch(item.getItemId()){
case R.id.item1:
Toast.makeText(this, "아이템 1 선택했습니다.", Toast.LENGTH_SHORT).show();
return true;
case R.id.item2:
Toast.makeText(this, "아이템 2 선택했습니다.", Toast.LENGTH_SHORT).show();
return true;
case R.id.item3:
Toast.makeText(this, "아이템 3 선택했습니다.", Toast.LENGTH_SHORT).show();
return true;
case R.id.subitem1:
Toast.makeText(this, "서브아이템 1 선택했습니다.", Toast.LENGTH_SHORT).show();
return true;
case R.id.subitem2:
Toast.makeText(this, "서브아이템 2 선택했습니다.", Toast.LENGTH_SHORT).show();
return true;
default:
return super.onOptionsItemSelected(item);
}
}
}
[안드로이드] 탭(Tab) 만들어 보기 (0) | 2020.12.09 |
---|---|
[안드로이드] 액티비티(Activity) 뒤로가기 버튼 만들어보기 (0) | 2020.12.09 |
[안드로이드] SeekBar 볼륨조절, 밝기조절 (0) | 2020.12.07 |
[안드로이드] 내맘대로 Toast(메시지) 꾸미기 (0) | 2020.12.06 |
[안드로이드] 애니메이션 예제(배터리 충전구현) (0) | 2020.12.04 |
댓글 영역