본문 바로가기

반응형

Programming/Xamarin

(27)
Xamarin Forms Android Activity passing value. axml file passing value Xamarin Forms의 Android 프로젝트에 Resources/layout 경로에는 axml file들이 존재한다. 아래에 예시로 TextView가 하나 있다. 이 TextView의 id는 timeTextView이고 auto generate 되는 Resource.designer.cs 파일에서 확인 가능하다. 다시 Android 프로젝트에서 Activity 로 이동하여 OnCreate함수 내에서 다음과 같이 resource id를 사용해 TextView를 가져왔다. 그리고 Text를 원하는 값으로 set 해준다. 처음엔 데이터바인딩을 생각했었지만 동작하는 방식을 생각해보면 데이터바인딩은 아니고 그냥 밖에서 원하는 컨트롤을 찾은 뒤 원하는 프로퍼티에 직접 값을 넣어주는 방식이다. 만일 FindView..
Xamarin Forms Android detail color change. ListView ItemSelected color example Xamarin Forms에서 Android의 디테일한 색 변경이 필요할 때가 있다. 예를 들어 ListView의 Item을 Select 하면 (item의) 배경색이 기본 주황색이다. ListView의 BackGround색상에 상관없이 주황색이므로 디자인적 요소를 고려했을때 Selected 상태에서의 item 배경색을 변경하고 싶을 수 있다. 하지만 SharedProject 상에서 이를 수정할 수 있는 방법은 기본적으로 제공되지 않는다. (딱 봐도 OS dependency가 있을것 같은 문제) 이를 수정하고싶다면 Android Project에서 values 폴더로 눈을 돌려야 한다. values 폴더엔 기본적으로 styles.xml과 colors.xml 파일이 존재한다. colors 파일에서는 정의되어있는..
Xamarin forms 비정상종료 원인들 증상) 아무 반응(예외라던지..) 없이 앱이 종료됨 -> 테스트 기기에 Release mode로 빌드한 뒤 앱을 테스트하다가 Debug mode로 붙이는 경우 비정상 종료될 때가 있다. -> 해결책) 테스트 기기에서 Release 한 앱을 제거한 뒤 재시도해본다 증상) 알 수 없는 이유로 NullReferenceException이 나는 경우 (비즈니스로직상에서 예외가 안 잡힘) -> 대부분이 UI(xaml) 쪽에서 예외가 발생하는 경우다. (찾을 수 없는 이미지를 참조하고 있다던지, Binding Property를 찾을 수 없다던지) -> 해결책) 버전 관리 중이라면 changes 중 문제가 될만한 것을 찾는다. -> 만약.. 버전 관리를 안 하고 있었다면(changes를 볼 수 없다면) 디버그 포인트로..
Xamarin forms android linker Xamarin android 응용프로그램은 Linker를 사용하여 응용프로그램의 크기를 줄일 수 있다. 왜 뭔갈 연결하는데 프로그램 크기를 줄일 수 있는거지?->사용,참조하는 어셈블리를 연결하고 나머지는 버려서 android project 우클릭 - properties - Android Options - Linking에서 원하는 모드 선택 None - 링커 사용안함.Sdk Assemblies Only - Xamarin.Android 에서 필요한 어셈블리만 링킹.Sdk and User Assemblies - 어플리케이션 전체에서 필요한 모든 어셈블리 링킹. Sdk Assemblise Only 선택후 빌드시error XA2006: Could not resolve reference to 'A' with sco..
Xamarin Forms ListView 유용한 옵션 정리 Xamarin.Forms v3.1.0.697729 기준주기적으로 추가예정 아래로 당겼다가 놓음으로 새로고침 IsPullToRefreshEnabled="true" Item 클릭 시 배경색 반전되면서 선택을 가시적으로 알려줌 여부 SelectionMode="None"
Error NU1107 Version conflict detected 새로운 패키지를 설치하다가 종종 패키지 conflict가 날 수 있다. Severity Code Description Project File Line Suppression State Error NU1107 Version conflict detected for Xamarin.Android.Support.Compat. Install/reference Xamarin.Android.Support.Compat 28.0.0 directly to project A to resolve this issue. A -> Xamarin.Android.Support.v7.MediaRouter 28.0.0 -> Xamarin.Android.Support.v7.Palette 28.0.0 -> Xamarin.Android.Suppo..

반응형