Android

Android - Toolbar icon 추가/생성하기

TechNote.kr 2016. 1. 29. 00:01
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