适用于Windows Phone的Android RelativeLayout

时间:2012-12-11 14:50:10

标签: layout relativelayout windows-phone windows-phone-8

我正在尝试设计一个联系信息表,包括电话,电子邮件或类似符号等图标列,我想将它们与下一栏中的文字对齐

icon | Telephone:
     | +1212354567
icon | Email:
     | x@y.com

是否有任何布局可以在功能上与Androids RelativeLayout进行比较?我尝试使用网格布局,但这似乎容易出错并且不够准确。我不想将我的布局划分为列和行,而是想描述它们在RelativeLayout中使用的位置(toLeft,toRight,AlignParentBottom等)。

可以将StackPanel与LinearLayout进行比较,我想避免使用它,因为它不适合我当前的设计。

Windows Phone和Android Layouts之间是否有任何比较我可以定位? This one不完整,不会为RelativeLayout提供建议。

感谢您的帮助!

2 个答案:

答案 0 :(得分:2)

我知道你说你不想使用网格,但我认为你必须在这种情况下使用。

我会用网格和堆栈面板构建它。

<Grid>
    <Grid.ColumnDefinitions>
        <ColumnDefinition />
        <ColumnDefinition />
    </Grid.ColumnDefinitions>
    <Grid.RowDefinitions>
        <RowDefinition />
        <RowDefinition />
    </Grid.RowDefinitions>

    <!-- Image for first row item -->
    <Image Grid.Column="0" Grid.Row="0" Source="icon-url" />
    <!-- Container for the details of the first row item -->
    <StackPanel Grid.Column="1" Grid.Row="0">
        <TextBlock Text="Telephone:" />
        <TextBlock Text="+1212354567" />
    </StackPanel>

    <!-- Image for second row item -->
    <Image Grid.Column="0" Grid.Row="1" Source="icon-url" />
    <!-- Container for the details of the second row item -->
    <StackPanel Grid.Column="1" Grid.Row="1">
        <TextBlock Text="Email:" />
        <TextBlock Text="x@y.com" />
    </StackPanel>

    <!-- Just add rows to the grid to continue the list -->
</Grid>

答案 1 :(得分:1)

没有可比较的面板,但有冒险精神的人可以创建一个。关于如何做到这一点有很多文章,但这里有一个供参考。 http://www.switchonthecode.com/tutorials/wpf-tutorial-creating-a-custom-panel-control

那就是说,没有理由不将Grid用于你想要做的事情。它不是“容易出错”或“不够准确”。不过,SharedSizeGroup应该成为你的朋友。