Как открыть сайт с помощью MonoDroid? - PullRequest
1 голос
/ 10 января 2012

Как открыть сайт с Mono для Android?Я предполагаю, что мне нужно использовать Intent, но я не знаю, какой именно.

Ответы [ 2 ]

4 голосов
/ 10 января 2012
var intent = new Intent(Intent.ActionView, Android.Net.Uri.Parse("http://www.stackoverflow.com"));

StartActivity(intent);
2 голосов
/ 10 января 2012

Другая возможность состоит в том, чтобы создать WebView и загрузить туда URL-адрес. Таким образом, вы можете иметь больше контроля над тем, как он выглядит и как он реагирует на такие вещи, как Javascript.

Вы можете создать свой собственный вид деятельности примерно так:

using System;

using Android.App;
using Android.OS;
using Android.Webkit;
using Android.Views;

namespace WebViewSample
{
    [Activity(Label = "MyAwesomeWebActivity", MainLauncher = true, Icon = "@drawable/icon")]
    public class MyAwesomeWebActivity : Activity
    {
        protected override void OnCreate(Bundle bundle)
        {
            base.OnCreate(bundle);

            WebView webView = new WebView(this);
            webView.Settings.JavaScriptEnabled = true;
            webView.Settings.SetSupportZoom(true);
            webView.Settings.BuiltInZoomControls = true;
            webView.Settings.LoadWithOverviewMode = true; //Load 100% zoomed out
            webView.ScrollBarStyle = ScrollbarStyles.OutsideOverlay;
            webView.ScrollbarFadingEnabled = true;


            webView.VerticalScrollBarEnabled = true;
            webView.HorizontalScrollBarEnabled = true;

            webView.SetWebViewClient(new AwesomeWebClient());
            webView.SetWebChromeClient(new AwesomeWebChromeClient(this));

            AddContentView(webView, new ViewGroup.LayoutParams(ViewGroup.LayoutParams.FillParent, ViewGroup.LayoutParams.FillParent));

            webView.LoadUrl("http://stackoverflow.com");
        }

        private class AwesomeWebClient : WebViewClient { }

        private class AwesomeWebChromeClient : WebChromeClient
        {
            private Activity mParentActivity;
            private string mTitle;

            public AwesomeWebChromeClient(Activity parentActivity)
            {
                mParentActivity = parentActivity;
                mTitle = parentActivity.Title;
            }

            public override void OnProgressChanged(WebView view, int newProgress)
            {
                mParentActivity.Title = string.Format("Loading {0}%", newProgress);
                mParentActivity.SetProgress(newProgress * 100);

                if (newProgress == 100) mParentActivity.Title = mTitle;
            }
        }
    }
}

У вас здесь масса возможностей.

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