我的应用程序需要在屏幕底部重复项目的视图。可以有比屏幕空间更多的项目。因此我需要一个HorizontalScrollView(我尝试使用listview和自定义适配器,但没有本地方式来获取水平列表视图)。我想动态创建项目。
现在问题是:当我在代码中生成项目时,我可以使用我的axml(xml?)文件来定义项目的结构吗?
我的xml文件包含一个带有一些textview的线性布局。
答案 0 :(得分:1)
我需要一个HorizontalScrollView(我尝试使用listview和自定义适配器,但没有本地方法来获取水平列表视图)。
您可以使用RcyclerView
来达到此效果。它执行了与ListView
相同的工作,它显示列表或网格中的项目集合。以下是关于如何在RecyclerView
中使用Xamarin.Android
的{{3}}以及document中的{s}代码。
当您想要在Horizontal
中显示项目时,您只需要提供RecyclerView
horizontaLayoutlManager
代码,如下所示:
LinearLayoutManager horizontalManager = new LinearLayoutManager(this, LinearLayoutManager.Horizontal,false);
recyclerView.SetLayoutManager(horizontalManager);
现在问题是:当我在代码中生成项目时,我可以使用我的axml(xml?)文件来定义项目的结构吗?
如果您使用RecyclerView
,则可以在覆盖here方法时对.axml
进行充气,.axml
罚款将定义RecyclerView
的结构项目,代码如下:
public override RecyclerView.ViewHolder OnCreateViewHolder (ViewGroup parent, int viewType)
{
// Inflate the item for the RecyclerView:
View itemView = LayoutInflater.From (parent.Context).Inflate (Resource.Layout.youraxml, parent, false);
// Create a ViewHolder to hold view references inside the CardView:
YourViewHolder vh = new YourViewHolder (itemView);
return vh;
}