Programming/Android

[안드로이드] Actionbar vs Toolbar 차이점, 사용법 알아보기

devssun 2017. 7. 20. 21:45
728x90
반응형



안드로이드 상단에는 두툼한 바(Bar)가 존재한다

그 존재는 ActionBar / Toolbar 이다


예전에는 ActionBar가 기본으로 있었고 그것을 커스텀해서 각 앱에 맞게 변경해서 사용했다

그러다 Toolbar가 나타나게되었다.




1. ActionBar와 Toolbar의 차이점


- Actionbar는 Object를 상속받는다

반변 Toolbar(android.support.v7.widget.Toolbar)는 ViewGroup을 상속받는다

그래서 어디든지 붙이기 쉽고, View이기 때문에 애니메이션의 적용이 쉽다

기타 여러가지 이유로 사용이 편리~


그래서 요즘엔 사용이 더 편리한 toolbar를 배부분 사용한다




2. 사용법

Toolbar를 사용하기 위해서 actionbar를 없애는 작업이 필요하다


- AppTheme NoActionBar로 변경

res/values/style.xml

<style name="AppTheme" parent="Theme.AppCompat.Light.NoActionBar">




- 사용할 액티비티의 레이아웃에 Toolbar 위젯을 추가한다


1
2
3
4
5
6
7
8
<android.support.v7.widget.Toolbar
            android:id="@+id/toolbar"
            android:layout_width="match_parent"
            android:layout_height="?attr/actionBarSize"
            android:background="?attr/colorPrimary"
            android:theme="@style/ThemeOverlay.AppCompat.Dark"
            app:layout_scrollFlags="scroll|enterAlways">
</android.support.v7.widget.Toolbar>
cs





- Java에서 toolbar 연결, 세팅하는 소스


1
2
3
4
toolbar = (Toolbar) findViewById(R.id.toolbar);
setSupportActionBar(toolbar);
ActionBar actionBar = getSupportActionBar();
actionBar.setHomeAsUpIndicator(R.drawable.ic_menu);
cs



끝!



reference 

https://developer.android.com/reference/android/support/v7/widget/Toolbar.html

https://developer.android.com/reference/android/support/v7/app/ActionBar.html



반응형