Xamarin 如何更改<;堆栈布局>&书信电报;网格>;要使用的屏幕<;相对长度>;?
我有这个代码,目前是和的组合 我想转移到一个相对的布局,并没有看到这么多的例子。如果您能就如何实现这一目标提出任何建议,我们将不胜感激 关于XAML的一些要点Xamarin 如何更改<;堆栈布局>&书信电报;网格>;要使用的屏幕<;相对长度>;?,xamarin,xamarin.forms,Xamarin,Xamarin.forms,我有这个代码,目前是和的组合 我想转移到一个相对的布局,并没有看到这么多的例子。如果您能就如何实现这一目标提出任何建议,我们将不胜感激 关于XAML的一些要点 屏幕上显示emptyGrid或phraseGrid 屏幕上会显示buttonGrid或tapGrid 按钮的垂直中心和点击标签应位于同一位置。这样,当按钮未显示时,轻触标签将显示在与按钮相同的垂直按钮上 框架显示在选项卡式页面中 我意识到这不仅仅是一个简单的问题,但我相信其他人也会感兴趣。因为答案可能很复杂,我会在几天内为此开出250
- 屏幕上显示emptyGrid或phraseGrid
- 屏幕上会显示buttonGrid或tapGrid
- 按钮的垂直中心和点击标签应位于同一位置。这样,当按钮未显示时,轻触标签将显示在与按钮相同的垂直按钮上李>
- 框架显示在选项卡式页面中
代码
可在GitHub中找到此功能的源代码:
public类相对论页面:ContentPage
{
公共关系页面()
{
var emptyLabel=新标签
{
Text=“空标签”,
余量=新厚度(10,0,10,0),
FontSize=18,
text颜色=颜色。灰色,
HorizontalTextAlignment=TextAlignment.Center
};
var resetPointsButton=新建按钮
{
BackgroundColor=Color.FromHex(“E19A3F”),
Text=“重置点?”,
TextColor=Color.White,
FontAttributes=FontAttributes.Bold,
};
交换机(设备运行时平台)
{
case设备。Android:
resetPointsButton.FontSize=20;
打破
case Device.iOS:
resetPointsButton.FontSize=25;
打破
}
var msg1Label=新标签
{
Text=“msg1”,
边距=新厚度(0,26,0,0)
};
var msg2Label=新标签
{
Text=“msg2”,
边距=新厚度(0,26,0,0)
};
var msg3Label=新标签
{
Text=“msg3”,
边距=新厚度(0,26,0,0)
};
var faveLabel=新标签{Text=“Fave Label”};
var wordTypeLabel=新标签{Text=“Word Type Label”};
var textLabel=新标签
{
Text=“文本标签”,
FontSize=45,
HorizontalTextAlignment=TextAlignment.Center,
VerticalTextAlignment=TextAlignment.Center
};
var detail1Label=新标签
{
Text=“详细信息1标签”,
余量=新厚度(10,0)
};
var detail2Label=新标签
{
Text=“详细信息2标签”,
余量=新厚度(10,0)
};
var detail3Label=新标签
{
Text=“详细信息3标签”,
余量=新厚度(10,0)
};
var zeroButton=新按钮
{
Text=“0”,
余量=新厚度(0,0,0,20)
};
var oneButton=新按钮
{
Text=“1”,
余量=新厚度(0,0,0,20)
};
var twoButton=新按钮
{
Text=“2”,
余量=新厚度(0,0,0,20)
};
var fiveButton=新按钮
{
Text=“5”,
余量=新厚度(0,0,0,20)
};
var tapScreenLabel=新标签
{
Text=“点击屏幕”,
余量=新厚度(0,0,0,20),
VerticalTextAlignment=TextAlignment.Center,
垂直选项=布局选项。中心
};
Func GetZeroButtonHeight=parent=>zeroButton.Measure(parent.Width,parent.Height).Request.Height;
Func GetOneButtonHeight=parent=>oneButton.Measure(parent.Width,parent.Height).Request.Height;
Func GetTwoButtonHeight=parent=>twoButton.Measure(parent.Width,parent.Height).Request.Height;
Func GetFiveButtonHeight=parent=>fiveButton.Measure(parent.Width,parent.Height).Request.Height;
var relativeLayout=新的relativeLayout();
relativeLayout.Children.Add(emptyLabel,
约束常数(0),
约束常数(0),
Constraint.RelativeToParent(parent=>parent.Width));
relativeLayout.Children.Add(重置点按钮,
约束常数(0),
约束常数(0),
Constraint.RelativeToParent(parent=>parent.Width));
relativeLayout.Children.Add(msg1Label,
约束常数(25),
Constraint.RelativeToView(resetPointsButton,(父,视图)=>view.Y