【发布时间】:2020-07-05 11:06:09
【问题描述】:
我有问题。我在我的代码中使用以下扩展: https://github.com/andreinitescu/IconApp
有了它,我可以控制图像的颜色。我在自己的代码中实现了这一点:
<StackLayout Orientation="Vertical">
<StackLayout HeightRequest="70" BackgroundColor="#013252" Orientation="Horizontal" HorizontalOptions="FillAndExpand">
<Image Source="arrow_back" VerticalOptions="CenterAndExpand" HeightRequest="30" Margin="10,0,0,0">
<Image.GestureRecognizers>
<TapGestureRecognizer Tapped="btnBack_Clicked" />
</Image.GestureRecognizers>
</Image>
<Label x:Name="txtDeviceName" TextColor="White" FontSize="30" VerticalOptions="CenterAndExpand" HorizontalOptions="StartAndExpand" Margin="10,0,0,0" />
</StackLayout>
<Grid Padding="0" HorizontalOptions="FillAndExpand" Margin="40,30,40,0" x:Name="gridLedstrip" HeightRequest="0">
<controls:IconView x:Name="imgLedstrip" Source="ledstrip" BackgroundColor="White" />
</Grid>
<Grid Padding="0" HorizontalOptions="FillAndExpand" Margin="40,30,40,0" x:Name="gridCanvas" HeightRequest="500" IsVisible="False">
<views:SKCanvasView x:Name="skiaView"
PaintSurface="OnCanvasViewPaintSurface" />
<Grid.Effects>
<tt:TouchEffect Capture="True"
TouchAction="OnTouchEffectAction" />
</Grid.Effects>
</Grid>
<Label Text="BRIGHTNESS" TextColor="White" FontSize="20" Margin="40,0,40,0" />
<StackLayout Orientation="Horizontal" Margin="40,0,40,0">
<Slider x:Name="sliderBrightness" Minimum="0" Maximum="100" VerticalOptions="CenterAndExpand"
HorizontalOptions="FillAndExpand" ValueChanged="sliderBrightness_ValueChanged" DragCompleted="sliderBrightness_DragCompleted" />
<Label x:Name="txtBrightness" TextColor="White" FontSize="18" />
</StackLayout>
</StackLayout>
现在的问题是当您查看图像大小时 ledstrip.png 是一个正方形,因为它是 600x600,但是当我将它显示在黑色背景的屏幕上时,我可以看到这个 IconView 在高度。如何使高度等于宽度。
我已经试过了:
gridLedstrip.HeightRequest = gridLedstrip.WidthRequest;
但无论我在 HeighRequest 中填写什么,它都会一直被拉长!
有什么建议吗?
【问题讨论】:
标签: c# xamarin xamarin.forms xamarin.android xamarin.ios