C# Xamarin.Forms,XAML-如何使用彩色叠加显示图像
我正在我的Xamarin.Forms应用程序中构建一个布局,我需要显示一个带有透明颜色覆盖的图像。我有一个C# Xamarin.Forms,XAML-如何使用彩色叠加显示图像,c#,xaml,xamarin,background,xamarin.forms,C#,Xaml,Xamarin,Background,Xamarin.forms,我正在我的Xamarin.Forms应用程序中构建一个布局,我需要显示一个带有透明颜色覆盖的图像。我有一个网格布局,显示图像,并在其顶部堆叠一个半透明背景色的ContentView。正如您在下面的图像中所看到的,ContentView(我怀疑包含的网格)只是拒绝缩小到图像的大小(网格中最大的项目) 我该怎么做 我在不同的视图上尝试了各种不同的垂直选项,到目前为止,我所做的一切都不起作用,但我对表单不熟悉,因此请确认您是否认为解决方案可能是基本的。:) 提前谢谢 代码如下: <Grid Ve
网格
布局,显示图像,并在其顶部堆叠一个半透明背景色的ContentView
。正如您在下面的图像中所看到的,ContentView
(我怀疑包含的网格
)只是拒绝缩小到图像的大小(网格中最大的项目)
我该怎么做
我在不同的视图上尝试了各种不同的垂直选项
,到目前为止,我所做的一切都不起作用,但我对表单不熟悉,因此请确认您是否认为解决方案可能是基本的。:)
提前谢谢
代码如下:
<Grid VerticalOptions="Start">
<Image Source="PlayerBackground.png" />
<ContentView BackgroundColor="#88000000"></ContentView>
<StackLayout VerticalOptions="Center">
<Image/>
<Label/>
</StackLayout>
</Grid>
下面是它应该是什么样子:
下面是我实际得到的:
方面
属性是关键
<Grid HorizontalOptions="Fill" VerticalOptions="Fill">
<Image HorizontalOptions="Fill" VerticalOptions="Fill" Aspect="AspectFill" Source="PlayerBackground.png" />
<BoxView HorizontalOptions="Fill" VerticalOptions="Fill" BackgroundColor="#000000" Opacity="0.8"/>
</Grid>
免责声明:我是一名作家 尝试在ContentView上设置水平选项和垂直选项 您还可以使用网格代替ContentView,将水平选项和垂直选项设置为FillAndExpand,您可以尝试使用它,这非常方便。根据您的解决方案,您可以尝试以下方法 首先包括在Xamarin.Forms项目中 然后尝试下面的方法
<Grid VerticalOptions="Start">
<local:IconView Source="PlayerBackground.png"
VerticalOptions="Fill" HorizontalOptions="Fill"
Foreground="Green"/>
<local:IconView Source="Bird.png"
VerticalOptions="Center" HorizontalOptions="Center"
Foreground="Blue"/>
</Grid>
将
前景
值更改为所需的任何颜色。希望这能回答您的问题。我知道如何使颜色透明,我的问题是如何使创建颜色覆盖的视图适合图像,而不是超出图像。您还需要使用imageAspect
属性,我将修改我的答案,第二种解决方案也会很好。@DanielLuberda我在ViewCell中使用该转换,在绑定上下文更改覆盖时,我达到该转换并更改HexColor proeprty值,我在Listview和AndRoid上使用RecycleElement,同时滚动它,每次在同一对象上设置不同的颜色这实际上是一个答案,尽管看起来应该是后续评论。最好是写些废话,而不是你一直在说废话。谢谢。我将更改答案。我很想连接到谈论科技在王国中的应用。
<Grid VerticalOptions="Start">
<local:IconView Source="PlayerBackground.png"
VerticalOptions="Fill" HorizontalOptions="Fill"
Foreground="Green"/>
<local:IconView Source="Bird.png"
VerticalOptions="Center" HorizontalOptions="Center"
Foreground="Blue"/>
</Grid>