2016-06-12 4 views
1

Я пытаюсь открыть макет с изображением внутри AlertDialog. Но я получаю пустой диалог. Вот мой код.AlertDialog отображается пустым

ImageView.axml расположение:

<?xml version="1.0" encoding="utf-8"?> 
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 
    android:orientation="vertical" 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content"> 
    <ImageView 
     android:layout_width="wrap_content" 
     android:layout_height="350dp" 
     android:id="@+id/imageView" 
     android:src="@drawable/Apple" 
     android:scaleType="centerInside" /> 
</LinearLayout> 

C# код:

AlertDialog.Builder builder = new AlertDialog.Builder(this); 
AlertDialog dialog = builder.Create(); 
LayoutInflater inflater = LayoutInflater.From(this); 
View dialogLayout = inflater.Inflate(Resource.Layout.ImageView, null); 
dialog.SetView(dialogLayout); 
dialog.Show(); 

ответ

0

Проблема была с размером файла изображения в папке с возможностью перемещения. Размер изображения был слишком большим. Когда я пытаюсь создать изображение с меньшим размером, он работает.

+0

Было ли меньшее изображение с именем файла в нижнем регистре? Если это так, я бы попробовал переименовать «Apple.png» в «apple.png» (и соответственно обновить запись «src =») и дать повторную ссылку, поскольку имена файлов с требуемым ресурсом должны быть строчными (если нет, вы столкнетесь с проблемами , например GetIdentifier(), возвращающий нуль). Я также обновил свой ответ с этим предложением. –

0

Согласно this tutorial, создать() вызывается после установки View. Я знаю по привычке, я всегда вызываю create(), а затем show() last. Надеюсь, это поможет.

1

Я просто запустил ваш код, используя последнюю версию Xamarin, и я вижу изображение в диалоговом окне. Итак, я уверен, что у вас нет файла изображения «Apple.png» в папке «Ресурсы/перенос». Если вы это сделаете, попробуйте другой файл png и/или убедитесь, что для параметра «BuildAction» для этого изображения установлено значение «AndroidResource».

Кроме того, доступные ресурсы должны быть в нижнем регистре.

Смежные вопросы