[XAMARIN] .net Standard에서 iOS, android, winPhone 구분하여 코딩하기

2019. 5. 19. 21:30IT/C#

자마린 프로그래밍을 하다 보면 화면 레이아웃이 아이폰과 안드로이드간 맞지 않는 경우가 발생한다. 이때 각각 넣어주는 방법이 Shared 방식과 .Net Standard 방식이 있는데 개인적으로는 후자가 이질감도 없고 좋을것 같다.

그래서 .Net Standard에서 하는 방법을 설명하겠다.

1. xmal에서 하는 방법(권장)

<?xml version="1.0" encoding="utf-8" ?>
<ContentPage xmlns="http://xamarin.com/schemas/2014/forms"
             xmlns:x="http://schemas.microsoft.com/winfx/2009/xaml"
             xmlns:local="clr-namespace:ch03_test03"
             x:Class="ch03_test03.MainPage">

    <Label x:Name="lbl01" Text=".NET Standard XMAL에서 하는 방법입니다.">
        <Label.Margin>
            <OnPlatform x:TypeArguments="Thickness"
                        iOS="0,50,0,0"
                        Android="0,30,0,0"
                        WinPhone="0,30,0,0"
                        />
        </Label.Margin>
    </Label> 
</ContentPage>

 

2. 코딩으로 하는 방법

lbl01.Margin = Device.OnPlatform(
				iOS:new Thickness(0,20,0,0),
				Android:new Thickness(0,0,0,0),
				WinPhone:new Thickness(0,0,0,0)
);

lbl01.Text = Device.OnPlatform(
				"iOS",
				"Android",
				"WinPhone"
);

 

'IT > C#' 카테고리의 다른 글