.NET MAUI пользовательский контент WebView не виден внутри ScrollView на платформе AndroidAndroid

Форум для тех, кто программирует под Android
Ответить Пред. темаСлед. тема
Anonymous
 .NET MAUI пользовательский контент WebView не виден внутри ScrollView на платформе Android

Сообщение Anonymous »

Я использую пользовательский WebView в моем приложении .NET MAUI для отображения HTML -контента на Android. Однако, когда веб -просмотр помещается в ScrollView, контент не отображается в пользовательском интерфейсе. Если я удалю ScrollView, контент WebView виден, но мне нужно сохранить ScrollView для целей макета. >
my xaml -код: < /p>


















< /code>

Пользовательский рендерер Webview (Android): < /p>
public class DailyReadingAndroidRenderer : WebViewRenderer
{
public DailyReadingAndroidRenderer(Context context) : base(context)
{
}

protected override void OnElementChanged(ElementChangedEventArgs e)
{
base.OnElementChanged(e);

if (Control != null)
{
// Enable JavaScript and set other WebView settings
Control.Settings.DefaultFontSize = 25;
Control.Settings.JavaScriptEnabled = true;

// Make WebView background transparent
Control.SetBackgroundColor(Android.Graphics.Color.Transparent);
Control.SetLayerType(Android.Views.LayerType.Software, null);
Control.Settings.SetSupportZoom(false);

// Inject custom CSS for transparency
string makeTransparentScript = @"
let style = document.createElement('style');
style.innerHTML =
@font-face {
font-family: 'CustomFont';
src: url('file:///android_asset/Poppins-Light.ttf');
}
body {
background-color: transparent !important;
color: black !important;
font-family: 'CustomFont', sans-serif !important;
}
h4 {
color: #679E18 !important;
}
;
document.head.appendChild(style);
";

Control.SetWebViewClient(new CustomWebViewClient(makeTransparentScript));
}
}

private class CustomWebViewClient : WebViewClient
{
private readonly string _script;

public CustomWebViewClient(string script)
{
_script = script;
}

public override void OnPageFinished(Android.Webkit.WebView view, string url)
{
base.OnPageFinished(view, url);

// Execute JavaScript to inject CSS
view.EvaluateJavascript(_script, null);
}
}
}
< /code>
Как я могу сделать контент Webview видимым при сохранении Scrollview? Есть ли обходной путь или какой -либо недостающий конфигурацию в моем пользовательском рендерере?

Подробнее здесь: https://stackoverflow.com/questions/794 ... oid-platfo
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «Android»