Android emulator 表单列表视图,如何设置行高?
Xamarin.Forms中的Android emulator 表单列表视图,如何设置行高?,android-emulator,xamarin.forms,Android Emulator,Xamarin.forms,Xamarin.Forms中的ListView有一个RowHeight属性,但似乎不管我将其设置为什么高度 我使用的是Visual Studio 2013,我拥有Xamarin的商业版许可证,我使用的是Android仿真器MonoForAndroid_API_15,我相信我拥有所有相关内容的最新版本。到目前为止,我还无法运行iOS或WinPhone模拟器,因此无法进行比较。这只是Android emulator的一个问题,还是设置RowHeight属性不正确 这是我继承的ContentPage(
ListView
有一个RowHeight
属性,但似乎不管我将其设置为什么高度
我使用的是Visual Studio 2013,我拥有Xamarin的商业版许可证,我使用的是Android仿真器MonoForAndroid_API_15,我相信我拥有所有相关内容的最新版本。到目前为止,我还无法运行iOS或WinPhone模拟器,因此无法进行比较。这只是Android emulator的一个问题,还是设置RowHeight
属性不正确
这是我继承的ContentPage
(请注意,我设置了RowHeight
):
public class测验页面:ContentPage
{
私有只读ListView\u ListView;
公开测验页()
{
Title=“测试”;
SetHasNavigationBar(this,true);
_listView=新listView{RowHeight=20};
内容=_列表视图;
}
受保护的异步重写void OnAppearing()
{
base.OnAppearing();
_listView.ItemsSource=new[]{“一”、“二”、“三”、“四”、“五”};
}
}
在应用程序中
:
公共类应用程序
{
公共静态页面GetMainPage()
{
返回新导航页面(new QuizzesPage());
}
}
这是视觉效果:
请注意,我的代码是的简化版本,您可以看到它们以与我相同的方式设置RowHeight
属性
无论我将什么设置为RowHeight
行的高度都相同。我能做什么
编辑1:我计划本周升级到Windows 8.1,然后可以在WinPhone上测试它的外观。要在工作时将Mac添加到网络,我首先需要一些权限。这就是为什么到目前为止我只能使用Android模拟器的原因
编辑2:我尝试将行
设置为true,但这只会使它接受更长的条目,而不会更改行的高度(或字体),这对我来说太大了
编辑3:我发布了一个解决方案/解决方案作为答案。至少我能完全控制牢房的高度。但是行高
似乎没什么作用。我得到了:
不确定行高,但请尝试将ListView.HasRows设置为true。然后可以指定单元格的高度。可能是在使用RowHeight时也需要设置此bool
这让我意识到我必须创建一个从ViewCell
继承并绑定到类上的属性的类:
公共类QuizCell:ViewCell
{
公共QuizCell()
{
var标签=新标签{HeightRequest=20};
label.SetBinding(label.TextProperty,“Title”);
视图=标签;
}
}
要使用此选项,我将QuizzesPage
更改为:
public class测验页面:ContentPage
{
私有只读ListView\u ListView;
公开测验页()
{
Title=“测试”;
SetHasNavigationBar(this,true);
_listView=新建listView
{
HasRows=true,
ItemTemplate=新数据模板(typeof(QuizCell)),
//行高=10
};
内容=_列表视图;
}
受保护的异步重写void OnAppearing()
{
base.OnAppearing();
var quizEndpoint=新quizEndpoint(“测试”);
var quizzes=await quizEndpoint.LoadAllAsync();
_listView.ItemsSource=测验;
}
}
这里的重要部分是:
ListView
sItemSource
设置为List
,其中quick
对象具有Title
属性(我将标签绑定到的属性)
ListView
将其ItemTemplate
方法设置为newdatatemplate(typeof(QuizCell))
,这是我创建的新类ViewCell
的类中使用的组件的HeightRequest
属性将行的高度设置为我想要的任何值
我出现问题的原因是我简化了太多(而且RowHeight
似乎完成不了太多)。总之,这与仿真器无关。我希望这对别人有帮助