步骤5:创建查看器活动

非常好的问题。让我们现在就来创建一个查看器活动!这个活动将用于向用户显示教程内容。通过继承Activity创建一个新的类,并把它命名为TutViewerActivity.java。为它创建一个布局资源文件,文件只包括一项:一个WebView控件。布局文件应该看起来如下:

在TutViewerActivity类的onCreate()方法中,调用setContentView()方法并

android:layout_width="match_parent"

android:layout_height="match_parent"

android:id="@+id/tutView">

将这个布局传入。最后,不要忘了将这个活动添加到你的AndroidManifest.xml 文件。

步骤6:启动Details Activity

注意力回到TutListActivity一会。让我们看看我们需要做什么来启动这个查看器Activity显示合适文章链接。在onItemClick()方法中,被点击项的位置被作为一个int型的值传入。这就是我们需要用来访问文章链接数组的值。

链接数组里的字符串值是URL。传递URL到另一个活动的简便方法是通过setData()方法向Intent添加一个Uri。下面是onItemClick()的最终实现,它启动查看器活动,传入合适的URL:

@Override

public void onItemClick(AdapterView>parent, View view,

int position, long id) {

Stringcontent=links[position];

IntentshowContent=newIntent(getApplicationContext(), TutViewerActivity.class);

showContent.setData(Uri.parse(content)); startActivity(showContent);

}

如果你只是将这些代码直接粘贴到onCreate()方法的最后面,你会注意到links变量还没有定义。因为它将用于OnItemClickListener类,变量必须是一个final值,如下:

final String[]links=getResources().getStringArray(R.array.tut_links);

这一行必须放在OnItemClickListener的定义之前。是的,你可以将它定义成非final的成员变量。对于更复杂的情况,那样做甚至是必须的。但是在这里,我们可以在方法中放置所有代码。现在如果你运行这个程序,你将得到一个空白的查看器界面。活动正确地启动了,但是我们需要去连接查看器活动来在WebView控件中加载URL。

步骤7:加载URL

注意力回到TutViewerActivity.java文件。在调用setContentView()方法之后,添加代码,在传入的Intent中检索Uri并将它转换成String变量。然后将一个调用添加到WebView类的loadUrl()方法。整个TutViewerActivity类的代码将看起来像这样:

public class TutViewerActivity extends Activity {

@Override

public void onCreate(Bundle savedInstanceState) {

super.onCreate(savedInstanceState);

setContentView(R.layout.tut_view);

IntentlaunchingIntent=getIntent();

Stringcontent=launchingIntent.getData().toString();

WebViewviewer= (WebView) findViewById(R.id.tutView);

viewer.loadUrl(content);

}

}

现在再运行程序。正常了么?还没有!最后一个细节:你必须把网终权限添加到AndroidManifest.xml文件。现在运行这个程序,你将看到程序正常运行了:

android用户界面设计实验心得 安卓用户界面设计_android用户界面设计实验心得

步骤8:改善体验(可选)目前来看,用户体验只是做到了仅仅是可以用。ListView展示所有文章标题,用户可以点击列表某一项并且可以转到一个带有WebView控件的活动来展示合适的URL的内容。为了将这个最基本的实现变得更优雅一些你可能考虑以下几个方面:

设置浏览视图的初始缩放以应对接来的缩放

配置WebView使其包含更多增强浏览体验的控件

动态加载文章列表,而不是使用静态数组

为ListView添加特效视觉效果

充分利用大屏幕

向ListView增加附加的信息:副标题,难度级别,图标,已读指示,收藏按钮等。

总结

ListView小工具是在界面上以列表形式组织数据的快速方式。在这个教程中我们只是接触到ListView控件的最表层。然而,你学到了最基础的:创建列表项,使用数据适配器,以及处理列表项点击。