본문 바로가기

Programming/Xamarin

Xamarin Forms Android detail color change. ListView ItemSelected color example

반응형

 

Xamarin Forms에서 Android의 디테일한 색 변경이 필요할 때가 있다.

예를 들어 ListView의 Item을 Select 하면 (item의) 배경색이 기본 주황색이다.

ListView
ListView ItemSelected Status

 

ListView의 BackGround색상에 상관없이 주황색이므로

디자인적 요소를 고려했을때 Selected 상태에서의 item 배경색을 변경하고 싶을 수 있다.

하지만 SharedProject 상에서 이를 수정할 수 있는 방법은 기본적으로 제공되지 않는다.

(딱 봐도 OS dependency가 있을것 같은 문제)

 

이를 수정하고싶다면 Android Project에서 values 폴더로 눈을 돌려야 한다.

values 폴더엔 기본적으로 styles.xml과 colors.xml 파일이 존재한다.

 

colors 파일에서는 정의되어있는 아이템의 색을 지정할 수 있다.

ListViewHighLighted 의 색상을 #3d4474로 설정

 

styles 파일에는 정의되어있는 아이템의 style (디자인적 요소)를 변경할 수 있다.

android의 colorActivatedHighLight의 style중 색상을 ListViewHighLighted의 색으로 설정

 

위의 설정으로 android의 colorActivatedHighLight의 색상은 #3d4474로 설정된다.

 

변경할 수 있는 건 알겠는데 내가 원 하는 게 android.colorActivatedHighlight 인지는 어떻게 알 수 있을까?

정답은 직접 찾아봐야 한다.

 

아래는 나처럼 익숙하지 않은 개발자에게 도움이 될만한 링크이다.

https://developer.android.com/reference/android/R.attr.html#accessibilityPaneTitle

위에서 원하는 키워드로 검색해 item name을 찾아보면 도움이 될 것 같다.

 

After change ListView ItemSelected Status

 

반응형