近期在制作校园app的新闻界面,自然也要设计到新闻浏览的一个问题,还是先展示一下效果:
使用WebView来做新闻的显示特别简单,只需要从该网站获取到新闻的html代码用String存储,随后使用WebView显示便可以了。
当然,对于要求比较高的同学来讲,还是可以通过部分获取内容的方式来实现此界面的。但是此方法涉及了较多的数据处理以及xml设计等,本人在审美方面实在有点捉急,于是便使用这个讨巧的方法了。
MainActivity:
import android.support.v7.app.AppCompatActivity; import android.os.Bundle; import android.view.Menu; import android.view.MenuItem; import android.webkit.WebView; public class MainActivity extends AppCompatActivity { private WebView test; private String blank = " "; private String notice1 = "<div id=\"innerPadding\">\n" + " \n" + "\t\t\t\t<div class=\"artTitle\">\n" + "\t\t\t\t\t<h2>尼泊尔政府代表团来我校考察数字化校园建设</h2>\n" + "\t\t\t\t\t<span>( 点击次数:46次 发布时间:2015-09-23 \n" + "\t\t\t\t\t 作者:杨鲜 见习记者郑孟娜 来源:本站)</span>\n" + "\t\t\t\t</div>\n" + "\n" + "\t\t\t\t<div class=\"artContent\">\n" + "\t\t\t\t\t<div id=\"detailNews\"><p>\n" + "\t<span style=\"line-height:1.5;\"> 新闻网讯(记者</span><span style=\"line-height:1.5;\">杨鲜 见习记者郑孟娜)9月21日,尼泊尔政府信息与通讯管理部官员访问团一行19人来我校考察数字化校园建设。</span><span style=\"line-height:1.5;\">在黄家湖校区图书馆二楼,我校现代教育信息中心主任万维新向外宾介绍了我校悠久的办学历史并详细介绍了我校数字化校园建设情况。</span>\n" + "</p>\n" + "<p>\n" + "\t<span style=\"line-height:1.5;\"><br>\n" + "</span>\n" + "</p>\n" + "<p>\n" + "\t 据了解,我校校园网自1998年开始建设,1999年投入运行,经过不断地升级改造,已成为安全可靠、服务种类丰富的现代化网络中心。\n" + "</p>\n" + "<p>\n" + "\t<br>\n" + "</p>\n" + "<p>\n" + "\t 万维新介绍说,我校已经建立了一套完备的管理制度,为校内办公、教学、科研提供了稳定的网络环境。2014年我校与企业合作,在湖北省率先实现了全校园无线网覆盖。在未来几年内,我们将以建设数字化校园为中心,进一步扩大校园网络的规模,拓展应用范围,把学校建设成真正的智慧校园。<span style=\"line-height:1.5;\">锐捷网络公司技术人员就外宾提出的各种技术问题一一做了解答。</span>\n" + "</p>\n" + "<p>\n" + "\t \n" + "</p>\n" + "<p>\n" + "\t 尼泊尔代表团负责人PARASHURAM司长对我校优美的环境赞叹不已,他代表访问团感谢我校给他们提供了一次学习的机会,并希望今后能多与我校交流,创建更完善的数字信息系统。\n" + "</p>\n" + "<p>\n" + "\t<br>\n" + "</p></div>\n" + "\t\t\t\t\t<div id=\"artEnd\">\n" + "\t\t\t\t\t\t<span class=\"artKey\">文章关键字: </span>\n" + "\t\t\t\t\t\t\n" + "\t\t\t\t\t\t\t\n" + "\t\t\t\t\t\t\t <a href=\"/searchNews.action?key=校园\">校园</a>\n" + "\t\t\t\t\t\t\t\n" + "\t\t\t\t\t\t\t <a href=\"/searchNews.action?key=代表团\">代表团</a>\n" + "\t\t\t\t\t\t\t\n" + "\t\t\t\t\t\t\t <a href=\"/searchNews.action?key=政府\">政府</a>\n" + "\t\t\t\t\t\t\t\n" + "\t\t\t\t\t\t\t <a href=\"/searchNews.action?key=考察\">考察</a>\n" + "\t\t\t\t\t\t\t\n" + "\t\t\t\t\t\t\t <a href=\"/searchNews.action?key=考\">考</a>\n" + "\t\t\t\t\t\t\t\n" + "\t\t\t\t\t\t\t <a href=\"/searchNews.action?key=数字\">数字</a>\n" + "\t\t\t\t\t\t\t\n" + "\t\t\t\t\t\t\t <a href=\"/searchNews.action?key=来\">来</a>\n" + "\t\t\t\t\t\t\t\n" + "\t\t\t\t\t\t\t <a href=\"/searchNews.action?key=建设\">建设</a>\n" + "\t\t\t\t\t\t\t\n" + "\t\t\t\t\t\t\t <a href=\"/searchNews.action?key=我校\">我校</a>\n" + "\t\t\t\t\t\t\t\n" + "\t\t\t\t\t\t\t <a href=\"/searchNews.action?key=我\">我</a>\n" + "\t\t\t\t\t\t\t\n" + "\t\t\t\t\t\t\t <a href=\"/searchNews.action?key=代表\">代表</a>\n" + "\t\t\t\t\t\t\t\n" + "\t\t\t\t\t\t\n" + "\t\t\t\t\t\t\n" + "\t\t\t\t\t\t<span id=\"editor\">(编辑:程毓)</span>\n" + "\t\t\t\t\t</div>\n" + "\t\t\t\t</div>\n" + "\t\t\t\t<!-- 分享 -->\n" + "\t\t\t\t<div class=\"bshare-custom\">\n" ; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); test = (WebView) findViewById(R.id.test); test.loadDataWithBaseURL("about:blank", notice1, "text/html", "utf-8", null); } @Override public boolean onCreateOptionsMenu(Menu menu) { // Inflate the menu; this adds items to the action bar if it is present. getMenuInflater().inflate(R.menu.menu_main, menu); return true; } @Override public boolean onOptionsItemSelected(MenuItem item) { // Handle action bar item clicks here. The action bar will // automatically handle clicks on the Home/Up button, so long // as you specify a parent activity in AndroidManifest.xml. int id = item.getItemId(); //noinspection SimplifiableIfStatement if (id == R.id.action_settings) { return true; } return super.onOptionsItemSelected(item); } }
activity_main:
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent" android:paddingBottom="@dimen/activity_vertical_margin" android:paddingLeft="@dimen/activity_horizontal_margin" android:paddingRight="@dimen/activity_horizontal_margin" android:paddingTop="@dimen/activity_vertical_margin" tools:context=".MainActivity"> <WebView android:id="@+id/test" android:layout_width="match_parent" android:layout_height="wrap_content"></WebView> </RelativeLayout>