2016-08-22 196 views
3

我剛開始了一個Xamarin.Forms應用程序,我想爲我的XAML添加背景圖片。 我添加了屬性,但它在運行時不會顯示! 這是圖像。Xamarin.Forms Xaml背景圖片

APP

public class App : Application 
{ 
    public App() 
    { 
     // The root page of your application 
     MainPage = new Page(); 
    } 

XAML:

<ContentPage xmlns="http://xamarin.com/schemas/2014/forms" 
     xmlns:x="http://schemas.microsoft.com/winfx/2009/xaml" 
     x:Class="App1.Page" 
     BackgroundImage="bg.png"> 

enter image description here

那麼,該如何解決呢?

enter image description here

回答

4

添加您bg.png文件中的每一本機項目,因爲您目前正在使用您的Xamarin.Android項目Android模擬器啓動:

的Android - 在資源將圖像/繪製目錄與建設行動:AndroidResource

ref:https://developer.xamarin.com/guides/xamarin-forms/working-with/images/

例子:在你的Xamarin.Android項目,如添加bg.png

enter image description here

檢查圖像的Build Action,並確保它被分配AndroidResource。重建並重新測試。

+0

你好SushiHangover, 我只是這樣做,靜靜的,沒有出現= X – Biellx

+0

@Biellx我加了一些信息,以我的回答,請確保該圖像是在正確的文件夾,並指派了正確生成操作。清理並重建並重新部署到您的設備/仿真程序... – SushiHangover

+0

Yeaa,我認爲問題是構建操作,我如何將構建操作設置爲該圖像?] – Biellx

0

圖像文件可以添加到每個應用程序項目,並從Xamarin.Forms共享代碼引用。要在所有應用中使用單個圖像,必須在每個平臺上使用相同的文件名,並且它應該是有效的Android資源名稱(即只允許使用小寫字母,數字,下劃線和句點)。

  • iOS - 將圖像放置在具有Build Action:BundleResource的Resources文件夾中。還應提供圖像的視網膜版本 - 文件擴展名前的文件名後綴爲分辨率的兩倍和三倍,後綴爲@ 2x或@ 3x(例如,[email protected])。
  • Android - 使用Build Action:AndroidResource將圖像放置在Resources/drawable目錄中。還可以提供圖像的高DPI版本和低DPI版本(在適當命名的Resources子目錄中,例如drawable-ldpi,drawable-hdpi和drawable-xhdpi)。
  • Windows Phone - 將圖像放置在應用程序的根目錄中,其中包含Build Action:Content。
  • Windows/UWP - 將圖像放置在應用程序的根目錄中並使用生成操作:內容。

你可以閱讀更多的Working with Images Loading and displaying images in Xamarin.Forms

3

在Xamarin。形式

  1. 的圖像應該放置在以下文件夾

    iOS, Android - Resources folder 
    
        Windows/UWP, Windows Phone - Assets folder 
    
  2. 然後生成操作(RT點擊img->性)的圖像的應改變如下

    iOS - BundleResource    Windows Phone - Content 
    
    Android - AndroidResource  Windows/UWP - Content 
    

如果仍未顯示圖像,請嘗試更改複製到輸出Directo ry複製,如果更新圖像屬性

0

縮小圖像的大小爲我工作。

1

如果您想在Xamarin項目的整個頁面的XAML文件中添加背景圖像,那麼使用BackgroundImage屬性並將您的圖像添加到資源 - >可繪製文件夾和iOS資源文件夾下的Android項目。

<ContentPage xmlns="http://xamarin.com/schemas/2014/forms" 
      xmlns:x="http://schemas.microsoft.com/winfx/2009/xaml" 
      xmlns:local="clr-namespace:PhoneDailerDemo" 
      x:Class="PhoneDailerDemo.MainPage" 
      BackgroundImage="image3.jpg"> 

    <Label Text="Welcome to Xamarin Forms!" 
      VerticalOptions="Center" 
      HorizontalOptions="Center" /> 
    <StackLayout Padding="100"> 
     //.......... 
    </StackLayout> 
</ContentPage>