0
私はandroid、ios、windows 10およびwindows 8.1で動作するXamarin Forms PCLプロジェクトを使用してアプリケーションを作成しました。Xamarinフォーム:IOSのプログレスバーの高さの問題
私はProgresbarコントロールを使用していましたが、高さを上げるためにカスタムレンダラーを作っていました。 IOS-
using CoreGraphics;
using MyProject.iOS;
using Xamarin.Forms;
using Xamarin.Forms.Platform.iOS;
using FISE.ViewModels;
[assembly: ExportRenderer(typeof(CustomProgressbar), typeof(CustomProgressBarRenderer))]
namespace MyProject.iOS
{
public class CustomProgressBarRenderer : ProgressBarRenderer
{
protected override void OnElementChanged(ElementChangedEventArgs<ProgressBar> e)
{
base.OnElementChanged(e);
Control.ProgressTintColor = Color.FromHex(Constant.Primarycolor).ToUIColor();
Control.TrackTintColor = Color.FromHex(Constant.Secondary1Color).ToUIColor();
}
public override void LayoutSubviews()
{
base.LayoutSubviews();
var X = 1f;
var Y = 10.0f;
CGAffineTransform transform = CGAffineTransform.MakeScale(X, Y);
// this.Control.Transform = transform;
this.Transform = transform;
//this.ClipsToBounds = true;
//this.Layer.MasksToBounds = true;
}
}
}
で
PCL- で
using Xamarin.Forms;
namespace MyProject.ViewModels
{
public class CustomProgressbar : ProgressBar
{
}
}
私は、ProgressBarの高さを増大させるため、このレンダラを使用していました。最初に私はthis.Control.Transform = transform;
を試しましたが、私は私のために働いていませんでしたthis.Transform = transform;
それは私のために働いた。
今度は5つのプログレスバーを縦に積み重ねました。
<Grid Padding="20,3,0,0" x:Name="RatingCountDisplayGrid" RowSpacing="23" ColumnSpacing="10" Grid.Row="0" Grid.Column="1">
<Grid.RowDefinitions>
<RowDefinition Height="Auto" />
<RowDefinition Height="Auto" />
<RowDefinition Height="Auto" />
<RowDefinition Height="Auto" />
<RowDefinition Height="Auto" />
</Grid.RowDefinitions>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="*"/>
<ColumnDefinition Width="Auto"/>
</Grid.ColumnDefinitions>
<local1:CustomProgressbar Grid.Row="0" Grid.Column="0" HeightRequest="20" x:Name="fiveStarRating" />
<Label x:Name="fiveStarRatingCount" Grid.Row="0" Grid.Column="1" FontAttributes="Bold" FontSize="14" Style="{DynamicResource LabelNormal3}"></Label>
<local1:CustomProgressbar Grid.Row="1" Grid.Column="0" HeightRequest="20" x:Name="fourStarRating"/>
<Label x:Name="fourStarRatingCount" Grid.Row="1" Grid.Column="1" FontAttributes="Bold" FontSize="14" Style="{DynamicResource LabelNormal3}"></Label>
<local1:CustomProgressbar Grid.Row="2" Grid.Column="0" HeightRequest="20" x:Name="threeStarRating"/>
<Label x:Name="threeStarRatingCount" Grid.Row="2" Grid.Column="1" FontAttributes="Bold" FontSize="14" Style="{DynamicResource LabelNormal3}"></Label>
<local1:CustomProgressbar Grid.Row="3" Grid.Column="0" HeightRequest="20" x:Name="twoStarRating"/>
<Label x:Name="twoStarRatingCount" Grid.Row="3" Grid.Column="1" FontAttributes="Bold" FontSize="14" Style="{DynamicResource LabelNormal3}"></Label>
<local1:CustomProgressbar Grid.Row="4" Grid.Column="0" HeightRequest="20" x:Name="oneStarRating"/>
<Label x:Name="oneStarRatingCount" Grid.Row="4" Grid.Column="1" FontAttributes="Bold" FontSize="14" Style="{DynamicResource LabelNormal3}"></Label>
</Grid>
それは完璧に見えたが、2つの進捗バーは、親コンテナの外に行くのtransformプロパティを適用した後transformプロパティを適用する前にthis-
のように見えます。あなたが行くここ
あなたの答えを教えてください! – Mazz
@NoumanUllah SiddiquIここでSizeThatFitsは使用されていますか? – Sonali
@ NoumanUllah SiddiquI高さを増やしてみましたが、親コンテナから5つのプログレスバーのうち4つが増えています。 – Sonali