在Xamarin.Forms

时间:2016-04-17 15:05:06

标签: twitter xamarin xamarin.forms

我想显示来自某个推特账户的最新推文。

我正在使用WebView:

  var browser = new WebView
  {
    Source = "https://mobile.twitter.com/microsoft"
  };

显示以下页面: enter image description here

是否可以使用"注册"删除标题和"登录"纽扣?如果是,我该怎么办?

4 个答案:

答案 0 :(得分:2)

public async void showPage()
{
  WebRequest request = HttpWebRequest.Create("https://mobile.twitter.com/microsoft");
  WebResponse response = await Task.Factory.FromAsync<WebResponse>(request.BeginGetResponse, request.EndGetResponse, null);

  string html = string.Empty;
  using (var s = new StreamReader(response.GetResponseStream()))
    html = await s.ReadToEndAsync();

  var browser = new WebView();
  var htmlSource = new HtmlWebViewSource();
  htmlSource.Html = html;
  browser.Source = htmlSource;

  ContentPage cp = new ContentPage();
  cp.Content = browser;
  MainPage = cp;
}

使用上面的示例代码您可以编辑HTML字符串,以使页面符合您的要求,然后使用WebView显示它。无论如何,我强烈建议其他方法。特别要看一下易于使用和跨平台的LinqToTwitter(不仅适用于Android和iOS,还适用于Jason和Sreeraj提到的Windows Phone 8,Windows 10 UWP与Twitter组件相对)

答案 1 :(得分:0)

您可以尝试修改页面的CSS以隐藏该标题;我不知道那是多么可行。

或者,您可以使用Twitter API或使用Xamarin Social组件获取随后会在自定义用户界面中显示的推文供稿。

答案 2 :(得分:0)

强大而标准的方法是使用Twitter API或Xamarin社交组件,如Jason已经提到的那样。如果要在WebView中显示,我建议您检查Twitter Widgets。我没有亲自试过这个,但我相信它应该有效。基本上,您只需使用您的Twitter帐户登录并创建一个小部件。它将使用您在其设置页面中提供的值动态创建一些HTML。我们可以复制它并将该HTML加载到我们的webview中。

这是一种建议在网页中显示iframe中的Feed的方法。我仍然建议在任何上述方法中将feed作为JSON获取并显示它们。

答案 3 :(得分:0)

如果您只想继续使用WebView我建议您关注@ float113示例。

否则我会推荐Tweetinvi,以便您在2行中检索所需的信息:

Auth.SetUserCredentials("CONSUMER_KEY", "CONSUMER_SECRET", "ACCESS_TOKEN", "ACCESS_TOKEN_SECRET");
var microsoftTweets = Timeline.GetUserTimeline("microsoft");