Как загрузить URL-адрес TradingView в Jetpack Compose WebView?Android

Форум для тех, кто программирует под Android
Ответить Пред. темаСлед. тема
Anonymous
 Как загрузить URL-адрес TradingView в Jetpack Compose WebView?

Сообщение Anonymous »

Я работаю над проектом Android с использованием Jetpack Compose, и мне нужно отобразить диаграмму TradingView в WebView. Однако я столкнулся с проблемой, когда URL-адрес TradingView не загружается в Jetpack Compose WebView, в то время как другие URL-адреса загружаются без каких-либо проблем. Интересно, что URL-адрес TradingView отлично работает при использовании в проекте на основе XML.

Код: Выделить всё

item {
val symbol = selectedCoin?.symbol
val url =
"https://s.tradingview.com/widgetembed/?frameElementId=tradingview_76d87&symbol=${symbol}USD&interval=D&hidesidetoolbar=1&hidetoptoolbar=1&symboledit=1&saveimage=1&toolbarbg=F1F3F6&studies=[]&hideideas=1&theme=Dark&style=1&timezone=Etc/UTC&studies_overrides={}&overrides={}&enabled_features=[]&disabled_features=[]&locale=en&utmsource=coinmarketcap.com&utm_medium=widget&utm_campaign=chart&utm_term=BTCUSDT"
TradingChartWebView(url = url)
}

Код: Выделить всё

@SuppressLint("SetJavaScriptEnabled")
@Composable
fun TradingChartWebView(url: String) {
val context = LocalContext.current

AndroidView(
factory = {
WebView(context).apply {
settings.apply {
javaScriptEnabled = true
domStorageEnabled = true
loadWithOverviewMode = true
useWideViewPort = true
cacheMode = WebSettings.LOAD_NO_CACHE
mixedContentMode = WebSettings.MIXED_CONTENT_ALWAYS_ALLOW
userAgentString =
"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/91.0.4472.124 Safari/537.36"
}

webChromeClient = WebChromeClient()

webViewClient = object : WebViewClient() {
override fun onPageStarted(view: WebView?, url: String?, favicon: Bitmap?) {
Log.d("WebView", "Page started loading: $url")
}

override fun onPageFinished(view: WebView?, url: String?) {
Log.d("WebView", "Page finished loading: $url")
}

override fun onReceivedError(
view: WebView?,
request: WebResourceRequest?,
error: WebResourceError?
) {
Log.e("WebView", "Error loading page: ${error?.description}")
}
}

loadUrl(url)
}
},
modifier = Modifier
.fillMaxWidth()
.height(400.dp)
)
}

Здесь я пытаюсь показать график криптовалюты с URL-адресом торгового представления, но получаю такой пустой экран
Изображение

Я попробовал коды, которыми поделился выше, и не получил изображения веб-просмотра. Я ожидаю, что появится диаграмма веб-просмотра.

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

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

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

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

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

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

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