簡體   English   中英

Xamarin.forms 圖像源不適用於 Android

[英]Xamarin forms Imagesource not working on Android

所以我正在做一個項目,想從我的服務器獲取圖像到應用程序。 我使用圖像源來獲取我需要的圖像,它在 UWP 上工作正常,但是當我在 Android 上測試它時,它不起作用。 我嘗試了在 inte.net 上可以找到的所有內容,但仍然無法正常工作。

如果您能提供幫助,那就太好了,謝謝。

ImageSource fotoopad = ImageSource.FromFile("uploadplaceholder.png");
if (x.FotoPath != "") fotoopad = ImageSource.FromUri(new Uri(XamerinAPP.LoginApp.apiUrl + @"/api/media/image/" + x.Id));                    

和 xamarin。

<Image x:Name="StackMediaIMAGE" IsVisible="{Binding isFoto}" Source="{Binding fotoPad}"/>

圖像的綁定屬性fotoPad的代碼是什么?

一般來說,如果我們想給一張圖片綁定一個屬性,我們可以這樣做:

1.在當前頁面的viewModel中添加一個屬性fotoPad

例如:

public class Item
{       
    public string fotoPad { get; set; } 

    public bool isFoto{ get; set; }
}

fotoPad的正確格式如下:

new Item
        {  
            isFoto = true,
            fotoPad = "https://upload.wikimedia.org/wikipedia/commons/thumb/0/0d/Alouatta_guariba.jpg/200px-Alouatta_guariba.jpg"
        }

如果您正在為 Android 使用 Xamarin,請嘗試通過以下方式獲取 Uri:

Android.Net.Uri photoUri = Android.Net.Uri.Parse($"{ContentResolver.SchemeAndroidResource}://{PackageName}/{<YourPackageName>.Droid.Resource.Raw.<YourPngFileName>}");

將 < YourPackageName > 和 < YourPngFileName > 替換為項目中的具體數據。

將 image.png(例如)保存在 Android 中的 Resources/raw 文件夾下。

所以我只是愚蠢。 留在這里的所有這些答案可能都是很好的解決方案,不是我的。 我在服務器上犯了一個錯誤,它會得到一個帶有“api/getimagebyid/4/”的圖像,而它應該是“api/getimagebyid/4”,這使得它在 Android 上由於某種原因無法工作。修復了那個錯誤之后工作了。

我要感謝所有在這里回答的人,我很抱歉浪費你的時間。 我還將學習如何更好地提出問題,而不是用模糊的代碼提出半問題。 對不起大家,謝謝你的解決方案。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM