728x90
Android App을 보면 상단에 Toolbar를 흔히 볼수 있다. (간혹 없는 App들도 있지만 대체로 다 있다.)
그렇다면 저 bar에는 어떻게 icon을 추가하고 해당 icon에서 발생하는 touch event를 처리할 수 있을까?
[Icon이 없는 Toolbar]
[Icon을 생성한 Toolbar]
다른 여타 layout과 같이 xml 파일에 추가해 주면 된다.
res\menu\main.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">
<item
android:id="@+id/action_category"
app:showAsAction="ifRoom"
android:icon="@drawable/ic_folder_open_white_24dp"
android:title="@string/action_category"/>
<item
android:id="@+id/action_settings"
app:showAsAction="ifRoom"
android:icon="@drawable/ic_settings_white_24dp"
android:title="@string/action_settings"/>
</menu>
Icon은 전 article에 포스팅한 방법으로 확보하였다.
해당 Icon을 클릭 하였을 때 event는 다음 코드에서 처리할 수 있다.
public class MainActivity extends AppCompatActivity
implements NavigationView.OnNavigationItemSelectedListener {
...
@Override
public boolean onOptionsItemSelected(MenuItem item) {
// Handle action bar item clicks here. The action bar will
// automatically handle clicks on the Home/Up button, so long
// as you specify a parent activity in AndroidManifest.xml.
int id = item.getItemId();
//noinspection SimplifiableIfStatement
if (id == R.id.action_settings) {// !!!!! Settings Icon을 눌렀을 때는 여기..return true;
} else if (id == R.id.action_category) {
// !!!!! Categories Icon을 눌렀을 때는 여기..
return true;
}
return super.onOptionsItemSelected(item);
}
728x90
'Android' 카테고리의 다른 글
Android - 권한 정보 (Permission) 확인 및 권한 제거 (0) | 2016.02.19 |
---|---|
Android - Dialog 내의 EditText Padding, Margin 조절하기 (0) | 2016.02.01 |
Android - Inflater (0) | 2016.02.01 |
Android Studio 그리고 adb (0) | 2016.01.30 |
Android - Widget (위젯) 기본 생성 (0) | 2016.01.27 |
Android - 이미지 저장 및 변경 on Project. (0) | 2016.01.24 |
Android - Material Design of Google. (0) | 2016.01.24 |
Android - Back key 무시 (0) | 2016.01.20 |