기존에 만들어놓은 Frame이 Activity Base로 되어져 있어서 FragmentActivity 의 속성에서 실행되어지는 라이브러리를 적용해야할 상황이 있었다. 그런 상황에서 AppCompatActivity 란를 보니 위의 두 Activity와 FragmentActivity의 모두 상속한것들이었다. 특히 요즘에 이쁜 UI 라이브러리는 Base class for activities that use the support library action bar features. 의 라이브러리를 사용되어지는것이 많기 때문에 기존 Frame을 AppCompatActivity로 전환은 필연적이었다.







그리고 Frame의 BaseActivity를 기존에 Activity에서 AppCompatactivity로 바꾸었다. 이론적으로 상속개념에서는 위의 Activity와 FragmentActivity의 속성을 모두 사용할수가 있다.


전환방법은


1. BaseActivity의 상속자를 Activity에서 AppCompatActivity로 해주었다.


이것만 해주니 실행할때 Runtime 오류가 났다.


2. android:theme="@style/Theme.AppCompat.NoActionBar" 처리

- AndroidManifest.xml 파일에 <application 영역에서 액션바 속성에 대한 처리가 포함되어지 테마를 설정해주어야지된다. 참고로 기존에 Frame에서 ActionBar는 사용하지 않으므로 NoActionBar처리를 해주었다.


위의 1,2 를 수행해주면  Activity -> AppCompatActivity로 전환해서 사용이 가능하다


Posted by 모과이IT
,