본문 바로가기

Android/Application

Toolbar 사용하기

Toolbar 사용하기




이 부분은 메뉴바도, 액션바도 아니다. 툴바(Android Toolbar)다!



액션바의 시대는 예전에 끝났다. 툴바가 액션바를 대신한다. 그 이유는 아래와 같다:

  1. 툴바는 View이기 때문에 상하좌우 어디든지 붙일 수 있다.
  2. View이기 때문에 애니메이션 적용이 쉽다.
  3. 스크롤에 따라 위치가 변경되도록 하는 등 무궁무진한 응용이 가능하다.


그럼 이제 툴바로 갈아타자!



STEP1> 액션바와의 이별



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


NoActionBar로 기본 스타일을 변경해 액션바를 제거한다.






STEP2> 툴바 선언



<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:orientation="vertical"
android:layout_width="match_parent"
android:layout_height="match_parent" >
<android.support.v7.widget.Toolbar
android:id="@+id/main_toolbar"
android:minHeight="?attr/actionBarSize"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="#ff0000">
</android.support.v7.widget.Toolbar>
<fragment
android:id="@+id/main_container"
android:name="kr.makerj.vmimic.fragment.main.MainActivityFragment"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:layout="@layout/fragment_main" />
</LinearLayout>


액티비티 xml안에 선언한 예제다. 일반 툴바가 View처럼 취급되는걸 알 수 있다.






STEP3> 툴바 할당



public class MainActivity extends _Activity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
setSupportActionBar((Toolbar) findViewById(R.id.main_toolbar));
}
}


핵심은 역시 setSupportActionBar((Toolbar) findViewById(R.id.main_toolbar))다.


끝.





부록> 툴바 스타일을 변경하고 싶다!



먼저 테마를 반든다. 테마를 안 만들고는 스타일링이 안된다. 내 철칙 같은 것이 아니라 진짜 안된다!

<style name="Toolbar" parent="Base.Widget.AppCompat.Toolbar">
<item name="android:textColorPrimary">@android:color/white</item>
<item name="android:textColorSecondary">@android:color/white</item>
<item name="actionMenuTextColor">@android:color/white</item>
<item name="android:background">@android:color/holo_red_light</item>
<!--<item name="actionOverflowButtonStyle">@style/ActionButtonOverflowStyle</item>-->
<!--<item name="drawerArrowStyle">@style/DrawerArrowStyle</item>-->
</style>

이런 식으로.



그리고 나서 작성한 스타일을 툴바에 적용한다.

<android.support.v7.widget.Toolbar
android:id="@+id/main_toolbar"
android:minHeight="?attr/actionBarSize"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:theme="@style/Toolbar">
</android.support.v7.widget.Toolbar>

이런 식으로.


문제없이 잘 적용된다. 끝.

'Android > Application' 카테고리의 다른 글

안드로이드 아이콘 만들기  (1) 2015.09.27
멋진 로딩 스플래시 화면 만들기  (0) 2015.09.24
프레그먼트에서 메뉴 사용하기  (0) 2015.09.24
ViewPager 구현하기  (1) 2015.09.24
Android SearchView  (0) 2015.09.23