사전 절차
프로젝트가 AndroidX라이브러리를 사용하도록 설정되어 있어야 합니다.
dependencies {
implementation 'androidx.appcompat:appcompat:1.1.0'
...
}
액티비티는 다음과 같이 androidx.appcompat.app.AppCompatActivity를 확장하여 정의되어 있어야 합니다.
import androidx.appcompat.app.AppCompatActivity;
...
public class MyActivity extends AppCompatActivity {
//...
}
추가 절차
앱이 기본 ActionBar 클래스를 사용하여 앱바를 제공하지 않도록, 앱 manifest에서 appcompat의 NoActionBar 테마 중 하나를 사용하도록
(권장) res/values/styles.xml에서 style 태그의 parent 속성 값을 수정
<resources>
<style name="AppTheme" parent="Theme.AppCompat.Light.NoActionBar">
...
</style>
</resources>
또는, AndroidManifest.xml에서 android:theme 속성 값을 직접수정
<application
android:theme="@style/Theme.AppCompat.Light.NoActionBar"/>
Toolbar 를 액티비티 레이아웃(예, activity_main.xml)의 맨 위에 추가
다음 레이아웃 코드는 액티비티 위에 플로팅 방식으로 Toolbar를 추가한 것을 예시한 것
<androidx.appcompat.widget.Toolbar
android:id="@+id/my_toolbar"
android:layout_width="match_parent"
android:layout_height="?attr/actionBarSize"
android:background="?attr/colorPrimary"
android:elevation="4dp"
android:theme="@style/ThemeOverlay.AppCompat.Dark.ActionBar"
app:popupTheme="@style/ThemeOverlay.AppCompat.Light"/>
Toolbar를 액티비티의 앱바로 설정
import androidx.appcompat.widget.Toolbar;
//...
public class MainActivity extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_my);
Toolbar myToolbar = (Toolbar) findViewById(R.id.my_toolbar);
setSupportActionBar(myToolbar);
}
}