我需要为每个BoxView
创建一个由多个WidthRequest=0.20830
s(HeightRequest=5
和BoxView
组成的行。序列中将有1440 BoxView
个排列,以便创建一条线(大约WidthRequest=300
)。
我的代码 -
public partial class timeManagement : ContentPage
{
double oneMinute=0.20833333;
public timeManagement ()
{
InitializeComponent ();
StackLayout stack = new StackLayout{Orientation=StackOrientation.Horizontal,
};
for(int i=1;i<=14;i++)
{
BoxView piece_ofLine = new BoxView
{
HeightRequest=5,
WidthRequest=5,
Color=Color.Red
};
if (i >= 5 && i <= 9) {
stack.Children.Add (piece_ofLine);
piece_ofLine.Color = Color.Green;
} else {
stack.Children.Add (piece_ofLine);
piece_ofLine.Color = Color.Red;
}
}
Content = new StackLayout {
Padding =50,
Spacing=0,
Children = {
stack
}
};
}
}
但我希望所有的盒子并排放置,所以它看起来像一条线。
答案 0 :(得分:1)
这里有一些问题
StackLayout
的默认方向为Vertical
,因此您需要在stack
变量上设置
您需要为添加到堆栈的每个BoxView
创建一个新实例。否则它将一遍又一遍地添加相同的一个。最后你会有一个。
我认为你会希望他们直接站在彼此的一边。如果是这种情况,我认为最明确地将Spacing
的{{1}}设置为StackLayout