Используйте загруженное изображение в Xamarin.Android Toolbar.axml - PullRequest
0 голосов
/ 31 августа 2018

Чтобы иметь возможность отображать логотип в правой части панели заголовка навигации моего приложения форм 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" 

Есть указатели?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...