Чтобы иметь возможность отображать логотип в правой части панели заголовка навигации моего приложения форм Xamarin (в случае Android), я использую его в файле Toolbar.axml собственного проекта Xamarin.Android.
<?xml version="1.0" encoding="utf-8"?>
<android.support.v7.widget.Toolbar
xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/toolbar"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="?attr/colorPrimary"
android:theme="@style/ThemeOverlay.AppCompat.Dark.ActionBar"
android:popupTheme="@style/ThemeOverlay.AppCompat.Light">
<RelativeLayout android:layout_width="wrap_content"
android:layout_height="fill_parent">
<ImageView
android:id="@+id/logo"
android:layout_width="wrap_content"
android:layout_height="fill_parent"
android:scaleType="fitCenter"
android:src="@drawable/xlogo_small"
android:layout_gravity="right"
android:layout_alignParentRight="true" />
</RelativeLayout>
</android.support.v7.widget.Toolbar>
В android: src я использую файл изображения xlogo_small, который должен находиться в папке drawables. Теперь мне бы хотелось, чтобы этот файл добавлялся в папку drawables динамически (из вызова веб-службы) во время выполнения. После быстрого поиска я обнаружил, что добавление файлов в папку для рисования невозможно во время выполнения.
Я также обнаружил, что вместо этого при таком сценарии изображения должны сохраняться во внутренней памяти. В проекте Xamarin Forms Shared я могу извлечь логотип с помощью вызова веб-службы и сохранить его в каталоге: Environment.SpecialFolder.Personal.
Я хотел бы знать, есть ли какой-либо способ указать путь к файлу, хранящемуся в этом внутреннем каталоге хранения, и использовать его вместо @ drawable / xlogo_small в этой строке Resources.axml:
android:src="@drawable/xlogo_small"
Есть указатели?