Хорошо, у меня все работает, благодаря некоторой помощи в Reddit . Поэтому в конечном итоге вам нужно создать WebView, но не пытаться прикрепить его к чему-либо. Затем вы должны настроить его таким образом, чтобы он отображал содержимое; это был последний недостающий кусок. Вот код для этого:
// Get the screen width and height and put them in screenWidth and screenWidth
// and then do the following with them:
int widthSpec = View.MeasureSpec.makeMeasureSpec(screenWidth, View.MeasureSpec.EXACTLY);
int heightSpec = View.MeasureSpec.makeMeasureSpec(screenHeight, View.MeasureSpec.EXACTLY);
webView.measure(widthSpec, heightSpec);
webView.layout(0, 0, screenWidth, screenHeight);
Затем вы можете рисовать из WebView в Canvas SurfaceHolder, и все прекрасно.
Спасибо всем за помощь!
ОБНОВЛЕНИЕ 11 МАРТА 2019
Теперь все работает, поэтому я решил поделиться с вами Гистой код на случай, если он будет полезен другим людям:
https://gist.github.com/iangilman/71650d46384a2d4ae6387f2d4087cc37
Я нашел, что опция 2 (редактируют файлы вручную) обычно работает довольно хорошо, пока Вы используете хороший различный инструмент (я использую WinMerge). Основная проблема, с которой я столкнулся, состоит в том, что Visual Studio будет иногда переупорядочивать файл. Но, если у Вас есть хороший инструмент разности/слияния затем, он должен смочь дифференцироваться между довольным измененным и перемещенным содержанием. Это может помочь много.
Это - жесткая проблема, и я думаю слабость в архитектуре Visual Studio. Путем мы нашли вокруг него, не должен был иметь proj файлов в управлении исходным кодом вообще и иметь сценарий сборки, который обработал параметры конфигурации.
Альтернатива была очень грязна, и мы не могли гарантировать последовательные сборки или среды между разработчиками. Это привело к огромному количеству нисходящих проблем интеграции, и в конечном счете мы сделали драконовский шаг удаления файлов проекта от управления исходным кодом.
Среды разработчиков могли все еще стать неправильно выровненными, но это обнаружилось, когда они пытались создать сами вещи.
Опции 1 и 2 не являются взаимоисключающими - если разработчик является младшим уровнем, позвольте им использовать опцию 1 (повторно получите файл проекта и восстановите изменения), если это более удобно для них. Для более старших разработчиков прекрасно подходит опция 2 (слияние с помощью инструмента слияния).
Я думаю, что это - ситуация, которая в настоящее время не имеет никакого чудодейственного средства - иногда слияние является болью.
Используя TFS здесь, но я не думаю, что это имеет значение.
Мы также не блокируем и иногда имеем для контакта со слиянием файлов проекта. Я никогда не находил, что это что комплекс или большая часть проблемы. Редко делайте мы когда-либо испытываем проблемы, которые не могут быть объединены автоматически, и ручной процесс слияния в значительной степени тривиален.
Существует только один протест к этому: Регистрация часто! Если Вы вносите существенные изменения в структуру проекта и сразу не регистрируете их, те изменения могут начать соединять сложность более поздних слияний. Если я вношу существенное изменение в структуру проекта, я обычно даю всем головы. Я попрошу, чтобы они все зарегистрировались в своей текущей работе и затем заботились о слиянии сам.
Мы используем различный инструмент (WinMerge) для слияния изменений. Файлы проекта являются (по большей части) действительно простым XML. Ключ здесь, тем не менее, - то, что никогда не должны быть никакие неожиданности при слиянии, потому что хорошая коммуникация является частью основы эффективного управления исходным кодом.
Одновременные изменения в проекте прекрасно подходят, пока люди связываются.