[컴][안드로이드] SettingsActivity 사용법, Action bar 관련 주의 사항

settingsactivity 에서 action bar 사용방법 / toolbar 사용방법 / settingsactivity 에 toolbar 보이기 / 툴바 보이게 하기 / 툴바가 안보이는 경우 / toolbar 안보이는 경우



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);
    }
}



댓글 없음:

댓글 쓰기