ad1*_*ima 26 xamarin xamarin.forms
我试图在Xamarin.Forms 文档中找到一些边缘模拟.有人知道我们有什么东西或填充物吗?
更新:
为了更好地理解什么是保证金(来自MSDN for WPF):
ad1*_*ima 26
最后!Xamarin Forms 2.2.0包含Margins支持!
UPD特别为@AUSTX_RJL保证金价值Thickness
,就像在任何其他XAML框架中一样.
您可以Thickness
通过设置由逗号或空格分隔的一个,两个或四个值来设置XAML:
与设置"1 2 3 4"
相同"1, 2, 3, 4"
:
Left
Top
Right
Bottom
的领域 Thickness
"1 2"
集:
Left
和Right
fieldsTop
和Bottom
fields"1"
为所有领域设置1 Thickness
Ste*_*oix 15
截至2014-06-05,没有利润Xamarin.Forms
.裹在你的内容ContentView
,Frame
或任何其他布局,并使用Padding
属性.
小智 12
StackLayout components = new StackLayout
{
Orientation = StackOrientation.Vertical,
Spacing=10,
Padding = new Thickness (10, 10, 10, 20),
Children = {
new Label {Text = "Hello"},
new Label {Text = "World"}
}
};
Run Code Online (Sandbox Code Playgroud)
使用"间距"属性,可以在布局中的所有子视图之间添加空格.
使用Padding属性,您可以在布局的(左侧,顶部,右侧和底部)位置添加空间.
如果希望每个标签子视图具有不同的边距,则可以执行以下操作.1)创建和使用自定义标签,如下所示:
using System;
using Xamarin.Forms;
namespace SharedViews
{
/// <summary>
/// Label propertis that will be rendered in native iOS and native Android Renderers.
/// </summary>
public class MyLabel : Label
{
/// <summary>
/// The x position of the label.
/// </summary>
public static readonly BindableProperty xProperty = BindableProperty.Create<MyLabel,int>(p => p.X,0);
public int X{
get{ return (int)base.GetValue(xProperty);}
set {base.SetValue(xProperty,value);}
}
/// <summary>
/// The y position of the label.
/// </summary>
public static readonly BindableProperty yProperty = BindableProperty.Create<MyLabel,int>(p => p.Y,0);
public int Y{
get{ return (int)base.GetValue(yProperty);}
set {base.SetValue(yProperty,value);}
}
}
}
Run Code Online (Sandbox Code Playgroud)
2)创建您的iOS和Android渲染器
Android渲染器:
using System;
using Android.Widget;
using Android.Graphics;
using Xamarin.Forms;
using Xamarin.Forms.Platform.Android;
[assembly: ExportRenderer (typeof (MyLabel), typeof (MyLabelRenderer))]
namespace ChessGame.Android{
/// <summary>
/// Android label renderer:
/// here we set native Android label properties that can't be accessed in xamarin label.
/// </summary>
public class MyLabelRenderer : LabelRenderer
{
protected override void OnElementChanged (ElementChangedEventArgs<Label> e) {
base.OnElementChanged (e);
MyLabel element = (MyLabel)this.Element;
var nativeLabelView = (TextView)Control;
nativeLabelView.SetX (element.X);
nativeLabelView.SetY (element.Y);
}
}
}
Run Code Online (Sandbox Code Playgroud)
Layouts支持Padding属性,该属性适用于Layout中包含的子项.我认为这是他们目前支持的最接近保证金概念的
var stackLayout = new StackLayout {
Padding = new Thickness (10, 10, 10, 20),
Children = {
new Label {Text = "Hello"},
new Label {Text = "World"}
}
}
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
43260 次 |
最近记录: |