【发布时间】:2018-02-28 17:21:42
【问题描述】:
我目前正在为我的项目而苦苦挣扎。这个想法是制作几个可变长度的单行矩阵。在这些矩阵中,我需要根据输入更改每个 boxView 的颜色。显然,我在创建矩阵的项目开始时陷入了困境。使用以下代码,我可以制作一个或多个矩阵并将其沿 X 方向移动,但它无法沿 Y 方向移动。我做错了什么?
// BoxView dot dimensions.
double boxHeight = 1;
double boxWidth = 0.05;
public BoxView[,] rowPlaces(int count, double x, double y)
{
BoxView[,] digitBoxViews = new BoxView[count, 1];
// Create and assemble the BoxViews.
double xIncrement = 0.035 ;
double yIncrement = 0.03;
for (int index = 0; index < count; index++)
{
for (int col = 0; col < 1; col++)
{
for (int row = 0; row < count; row++)
{
// Create the index BoxView and add to layout.
BoxView boxView = new BoxView();
digitBoxViews[row, col] = boxView;
absoluteLayout.Children.Add(boxView,
new Rectangle(x, y, boxWidth, boxHeight),
AbsoluteLayoutFlags.All);
digitBoxViews[row, col].Color = free;
y += yIncrement;
}
x += xIncrement;
}
x += xIncrement;
}
return digitBoxViews;
}
在 MainPage() 中,我只是调用了这个方法,正如我所提到的,应该有 16 个这样的矩阵 [whatever x 1] 以及 2 个列 [1 xwhatever]。
我是 Android 新手,有点困惑,我认为这个错误是一些基本的错误? 可能布局错误(目前使用absoluteLayout)
【问题讨论】:
-
你的问题和代码让我很困惑,你想要
AbsoluteLayout中的 16 * 2 矩形矩阵吗? -
不,我想制作像 8x1,然后是 5x1,然后是 6x1 的矩阵......这样会有 16 行,我已经编辑了这个问题,所以希望它能让事情变得更多清除
-
嗨,你能告诉我
boxWidth和boxHeight吗?他们是 int 吗?像 10 或 5?如果是这样,请将您的AbsoluteLayoutFlags.All更改为AbsoluteLayoutFlags.PositionProportional。 -
只是编辑,它就在那里。问题是当我使用比例时,一切都消失了,屏幕上什么也没有。无论如何,非常感谢您的努力
-
我认为你需要阅读AbsoluteLayoutFlags,你测试过我的代码吗?那张照片是你想要的结果吗?
标签: c# android android-layout xamarin xamarin.android