2016-11-30 9 views
0

RelativeLayout.XConstraintにプラットフォーム固有の値を指定したいと考えています。また、私はOnPlatformキーワードでxamlでこれをやりたい 私はプラットフォーム固有のRelativeLayout.XConstraintをXAMLで作成するにはどうすればよいですか?

<RelativeLayout> 
    <RelativeLayout.XConstraint> 
     <OnPlatform x:TypeArguments="Constraint" Android="{ConstraintExpression Type=Constant,Constant=6" iOS="{ConstraintExpression Type=Constant,Constant=3}" /> 
    </RelativeLayout.XConstraint> 
</RelativeLayout> 

、運なしでこの1を試してみましたが、この1 https://forums.xamarin.com/discussion/57281/how-can-i-make-platform-specific-relativelayout-xconstraint-in-xamlを試みたが、それは「指定された制約が解けないループが含まれている」例外を示しています。

ここでRelativeLayout.XConstraintx:TypeArgumentsとか他の方法はありますか?これについてのヒント/示唆を楽しみにしています。

答えて

2

RelativeLayoutに制約を適用していますが、制約はレイアウトのアイテムに適用されることを意味します。

<RelativeLayout> 
    <Label Text="Foo"> 
    <RelativeLayout.XConstraint> 
     <OnPlatform x:TypeArguments="Constraint" Android="{ConstraintExpression Type=Constant,Constant=6}" iOS="{ConstraintExpression Type=Constant,Constant=3}" /> 
    </RelativeLayout.XConstraint> 
    </Label> 
</RelativeLayout> 

また、あなたは最初ConstraintExpressionマークアップの中括弧(})を逃しています。

私はこれをテストしましたが、XamlCをオフにしても問題ありません。 XF 2.3.3を実行している場合、https://bugzilla.xamarin.com/show_bug.cgi?id=48242になる可能性がありますが、修正が存在し(https://github.com/xamarin/Xamarin.Forms/pull/580)、今後リリースされるサービスリリースの一部としてリリースされる予定です。

+0

Stephane Delcroix私はこれを試しましたが、運はありません。 XConstraint/YConstraintの定数値は反映されません。[YConstraintラベルが画面の上部に移動した場合]私はxamarin形式のバージョン2.3.2.127を使用しています。この問題に関するこれ以上のアップデートはありますか? – Suchith

+0

しかし、xamalプレビューアでは正常に表示されています。 – Suchith

+0

XF 2.3.3の最新サービスリリースでのテスト –

関連する問題