SettingsActivity 사용법, Action bar 관련 주의 사항
Android Studio 2.0 에서 SettingsActivity 의 template 을 제공한다. 새로운 project 에서 이녀석을 생성해서 사용하면 기본적으로 action bar 가 같이 보인다.그런데 주의할 점은 Theme 을 NoActionBar 로 설정할 때 이다.
이 상황에서는 SettingsActivity 의 action bar 가 없다. 그래서 actionbar 를 강제로 넣으려는 시도도 했는데, (여기를 참고하면 된다.) 굳이 그럴 이유가 없었는데 개삽질을 ㅜㅜ
AndroidManifest.xml
<?xml version="1.0" encoding="utf-8"?> <manifest xmlns:android="http://schemas.android.com/apk/res/android" package="com.hbwhale.seedmoney"> ... <application android:allowBackup="true" android:icon="@mipmap/ic_launcher" android:label="@string/app_name" android:supportsRtl="true" android:theme="@style/Theme.AppCompat.Light.NoActionBar"> ... <activity android:name=".setting.SettingsActivity" android:label="@string/title_activity_settings" android:theme="@style/Theme.AppCompat.Light"> </activity> </application> </manifest>
Activity 의 theme 은 ActionBar 를 사용하는 theme 으로.
결론은 단순히 theme 만 ActionBar 를 사용하는 theme 으로 변경해 주면 된다. 그리고 back button 에 대한 처리를 위해 아래 사항만 추가해 주면 된다.@Override public boolean onOptionsItemSelected(MenuItem item) { switch (item.getItemId()) { case android.R.id.home: this.finish(); return true; } return super.onOptionsItemSelected(item); }
elevation, shadow
elevation 은 아래에서 수정해 주면 된다.
/**
* Set up the {@link android.app.ActionBar}, if the API is available.
*/
private void setupActionBar() {
ActionBar actionBar = getSupportActionBar();
if (actionBar != null) {
// Show the Up button in the action bar.
actionBar.setDisplayHomeAsUpEnabled(true);
actionBar.setElevation(0f);
}
}
댓글 없음:
댓글 쓰기