简体   繁体   中英

Phone and Tablet View for Xamarin.Forms

i'm triying to make a xaml that can be different in phone and tablet. I have something like this:

<OnIdiom x:TypeArguments="View">
    <OnIdiom.Phone>
        <ContentView VerticalOptions="CenterAndExpand">
            ...
            <LineEntry x:Name="User" Style="{StaticResource Style1}"/>
            ...
        </ContentView>
    </OnIdiom.Phone>
    <OnIdiom.Tablet>
        <ContentView VerticalOptions="End">
            ...
            <LineEntry x:Name="User" Style="{StaticResource Style2}"/>
            ...
        </ContentView>
    </OnIdiom.Tablet>
</OnIdiom>

But can't use the same id name in the codebehind. How can i do? i don't want to use 2 variables (for example userPhone and userTablet), for each platform. Is another way to accomplish that? thx!

Most properties on an object can be altered using OnIdiom or OnPlatform.

<Image Aspect="AspectFit" x:Name="logoImg">
     <Image.HeightRequest>
          <OnPlatform Default="400" Android="350" />
     </Image.HeightRequest>
     <Image.IsVisible>
          <OnIdiom Default="True" Phone="False" />
     </Image.IsVisible>
</Image>

So in your example (not tested)

<ContentView>
   <ContentView.VerticalOptions>
      <OnIdiom Default="End" Phone="CenterAndExpand" />
   <ContentView.VerticalOptions>
</ContentView>

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM