我有一个xaml页面,其中将Background Image设置为某些Image,它在Emulator(API 27)和Android 9.0真实设备上运行良好。当我将同一个应用程序部署到另一台设备(Android 8.1和7.0)时,背景图片不会显示在这些设备中。
我创建了一个新页面,并仅添加了背景图片属性,结果也是如此。在Android 9.0和Emulator上运行良好,但在Android 8.1和更低版本的android上效果不佳。我还将项目的目标框架版本更改为API 27,并将最低版本更改为允许Android 7.0,但这也无济于事。
我希望背景图片会显示在我部署的所有设备上。
这就是我在xaml页面中定义图像的方式:
<AbsoluteLayout>
<Image Source="Mop3.jpg" AbsoluteLayout.LayoutBounds="0,0,1,1" AbsoluteLayout.LayoutFlags="All" Aspect="AspectFill"></Image>
<StackLayout AbsoluteLayout.LayoutBounds="0.5,0.4,1,0.3" AbsoluteLayout.LayoutFlags="All" Spacing="10">
<Label Text="Cleanliness" TextColor="White" HorizontalTextAlignment="Center" FontSize="Medium" FontAttributes="Italic"></Label>
<Label Text="Starts with us" TextColor="White" HorizontalTextAlignment="Center" FontSize="40" FontAttributes="Bold"></Label>
<Button x:Name="Learnbtn" Text="Learn more" TextColor="White" BackgroundColor="Purple" BorderColor="Purple" CornerRadius="40" BorderWidth="1"
HorizontalOptions="Center" HeightRequest="50" WidthRequest="130" Clicked="GotoHowPage"></Button>
</StackLayout>
<StackLayout AbsoluteLayout.LayoutBounds="0,0.99,1,0.05" AbsoluteLayout.LayoutFlags="All"
Padding="0">
<Button Text="Get Started" BackgroundColor="Transparent" TextColor="White" FontAttributes="Bold" FontSize="Large" BorderRadius="5" Clicked="GotoBothPage"></Button>
</StackLayout>
</AbsoluteLayout>
Mop3.jpg是未在其他实际设备(Android 8.1及更低版本)上显示的图片
PS:我尝试了另一张图像,结果也一样,我还在项目中创建了另一页,并尝试将image Control和background image属性设置为某些图像,但也无法正常工作。但是当我创建一个新项目并将其部署到这些设备时效果很好,因此我怀疑当前项目有问题。
答案 0 :(得分:0)
因此,我找到了解决方案。事实证明,我使用的图像尺寸和尺寸也很大,并且无法在Android 8.1及更低版本上正确显示。因此,我在tinypng.com上压缩了图像,然后将其重新添加到drawable文件夹中,并且效果很好。