변명은 만개 결과는 한개

[Android] PreferenceActivity 본문

공부/Android

[Android] PreferenceActivity

노마십가 2019. 4. 19. 04:07
728x90
반응형

UI를 사용하여 프로세스 관련 Setting Value들(Preference) 값을 수정 하려고할때

 

기존 CompatActivity 를 사용하여 을 받는 Activity 짜는것보다

 

PreferenceActivity 를 사용하면 Setting Value들 관리하는게 쉽다고하고..

PreferenceActivity라고 대놓고 액티비티가 있으니까 

기존 Activity 버튼하나하나 만들고 노가다 하는것보다 이거 쓰면 되겠다 해서 한번 써봤음.

 

처음 사용해보는 PreferenceActivity 라서 시간은 조금 걸렸지만

확실히 일반 Activity 에서 레이아웃 짜고 Title TextView 넣고 summary TextView 넣고

CheckBox 넣고 padding 조절하고... 이러는것보다 정해져있는 "CheckBoxPreference" 요런거 쓰니까

훨씬 편함! 대충 보니까 Google Material Design 도 지켜져있구 ^_^

 

암튼 이 좋은 PreferenceActivity 로 CheckBox 하나 만들었는데 만들고 찾은 문제점(나한테만) 이 일단 2가지가 있더라

 

1. ActionBar 가 잘 안써짐 ..?

 → 이게 뭐 베이스 Activity는 그냥 Activity 쓰고 Fragment로 사용하면 ActionBar 사용가능하다~ 뭐 이러는것 같던데....

뒤지고 뒤지다보니까 ActionBar 말고 더 좋은 Toolbar 를 사용하라고 다들 그런다. 엥 전 ActionBar 밖에 안써봤는데요.. Toolbar는 도대체 머시당가요? ???

하고 찾아보니 기존 ActionBar 사용하는 Activity 들의 Theme를 noActionBar 로 살포시 적용시켜주고 해당 ActionBar 들어갈 자리에 Toolbar라는 친구를 집어넣으면 되는거였음 !

근데 이게 ActionBar는 기존에 안되는거였는진 모르겠지만 일단 Toolbar는 아예 뷰 그 자체라 내가 원하는 디자인대로 레이아웃 짜서 만들수 이똬 이게 장점같더라구요. (다시 말하지만 ActionBar 도 이렇게 customize가 될수도..)

또한 아직 만들어보진 않았는데 이 Toolbar를 오른쪽 밑 왼쪽에도 붙일수도있고.. 일정 이상 스크롤 내려가면 뭐 사라지게할수도있고! (뷰 그 자체니까 @.@)

제일 중요한게... ActionBar를 만들 때 항상 잘 모르니까 "Theme.Holo -끝-" 이런식으로 했어서 굉장히 액션바가 못생겼었는데.. Toolbar로 바꾸고 어쩔수없이(당연히) 내가 직접 레이아웃을 짜니까, 당장 싼티나는 holo Theme 의 ActionBar 아래 이상한 색 들어가있는 줄도 없어진게 넘 맘에들었음. XD 

말이 약간 샜는데 암튼 중요한거. Holo Theme 이 넘 구리게 보여서 이제 ActionBar는 무조건 Toolbar로 구현할것같음.

그말인즉슨 → 이전까지 작업했던 모든 Activity 들의 ActionBar를 Toolbar로 갈아엎고싶어졌다는것 -_-...

암튼 이 작업은 나중에 시간나면 다 고쳐보려구요!

 

 

ActionBar 아니라 Toolbar [임시]

구린 ActionBar 아니라 짱강력한 Toolbar를 만들어봅시다

tmrtkr.tistory.com

 

 

2. PreferenceCategory 의 타이틀 스타일은 대체 어떻게 바꾸라는거야 ?????

 → 이것도 뭐 당근 바꾸는거 있겠지만.. 나의 무지함과 후진 구글링 실력으로는 겨우겨우! 알음알음! 

  - PreferenceScreen 이 선언되어있는 xml/setting.xml (이 setting은 대부분 preference.xml 일수도..) 의 PreferenceCategory 의 android:title 의 스타일을 바꾸고싶다? 그러려면... ↓

  1) PreferenceCategory 가 선언되어있는 Manifest 에 적용한 @style/[유저테마] 의!

  2) 아이템의 name="android:colorAccent" 에다가 색상 값 넣어줌!

 

이러면 해당 title의 색상은 바뀌더라구요 .. ^^....

아니.. Category 의 title 이랑 colorAccent... 영못알이지만 너무 연관관계가 없어보여서 한참을 찾았습니다.

 

근데 또 아무리 찾아도 색상 item(colorAccent) 밖에 안보이길래 (혹시 아시면 알려주세요 ㅠ) 한두시간을 구글링만 해봤더니 맘에드는건 안나오고 그냥 거따가 layout를 박으라고 하길래 박으니까 박히더라구요..

그래서 그냥 "preferences_category.xml" 파일 따서 거기 이쁘게 레이아웃작업 하고

이케

<PreferenceCategory android:layout="@layout/preferences_category" android:title="Settings">

넣어서 잘 돌아가는거 보고 만족하였읍니다 ^^...

 

 

 

 

 

 

 

 

 

728x90
반응형