Xamarin形式:AbsoluteLayout

时间:2018-09-16 22:27:41

标签: xamarin xamarin.forms absolutelayout

我需要对此处未列出的页面上的其他控件使用AbsoluteLayout。如何在顶部放置SearchBar,然后填充整个屏幕其余部分的ListView,布局普通的senerio。

我尝试了此操作,但是ListViewSearchBar下的下错误地

    <AbsoluteLayout VerticalOptions="FillAndExpand" HorizontalOptions="FillAndExpand">
        <SearchBar></SearchBar>
        <ListView 
            AbsoluteLayout.LayoutFlags="All"
            AbsoluteLayout.LayoutBounds="0,0,1,1">
        </ListView>
      </AbsoluteLayout>    

1 个答案:

答案 0 :(得分:1)

部分问题是您在列表视图上设置的AbsoluteLayoutFlags。

将其设置为全部时,就是在告诉布局从0,0开始,一直到1,1。这就是为什么列表视图出现在搜索栏上的原因。

<AbsoluteLayout VerticalOptions="FillAndExpand" HorizontalOptions="FillAndExpand">
    <SearchBar AbsoluteLayout.LayoutBounds="0,0,1,40"
               AbsoluteLayout.LayoutFlags="WidthProportional,PositionProportional"/>
    <ListView 
        AbsoluteLayout.LayoutFlags="XProportional,SizeProportional"
        AbsoluteLayout.LayoutBounds="0,40,1,1">
        <ListView.ItemsSource>
            <x:Array Type="{x:Type x:String}">
                <x:String>mono</x:String>
                <x:String>monodroid</x:String>
                <x:String>monotouch</x:String>
                <x:String>monorail</x:String>
                <x:String>monodevelop</x:String>
                <x:String>monotone</x:String>
                <x:String>monopoly</x:String>
                <x:String>monomodal</x:String>
                <x:String>mononucleosis</x:String>
            </x:Array>
        </ListView.ItemsSource>
    </ListView>
</AbsoluteLayout>

Xamarin Documentation

我确定您在参考文档。我在这里链接了它,并引用了它的一部分。希望它会有所帮助。

  

比例值定义布局和视图之间的关系。   此关系将子视图的位置或比例值定义为   父布局对应值的比例。这些   值以0到1之间的双精度表示。

     

比例值用于在视图中定位和调整视图大小   布局。因此,当视图的宽度按比例设置时,结果   宽度值是比例乘以AbsoluteLayout的   宽度。例如,使用AbsoluteLayout的宽度500和视图集   具有0.5的比例宽度,即视图的渲染宽度   将为250(500 x .5)。