android-support-v4.jar 下载:点击打开链接
android-support-v4.jar 是 Android 兼容性包 (Compatibility package),开发者可以将它作为静态库放进 Android 应用程序中进行编译,这样可以让一个在 Android 4.0 上开发的应用可以在 API level 4 的 Android 系统中工作。实现左右滑动的指引效果。那么什么是指引效果呢?现在的应用为了有更好的用户体验,一般会在应用开始显示一些指引帮助页面,使用户能更好的理解应用的功能,甚至是一些新闻阅读器会把一些头条新闻以指引效果的形式显示。说个最基本的,就是我们的手机主屏幕就是这种效果。
Android Support v4 支持包中 Fragment用法:
当我们需要动态的多界面切换的时候,就需要将UI元素和Activity融合成一个模块。在2.3中我们一般通过各种Activity中进行跳转来实现多界面的跳转和单个界面动态改变。在4.0或以上系统中就可以使用新的特性来方便的达到这个效果--Fragment类。Fragment类似一个嵌套Activity,可以定义自己的layout和自己的生命周期。
多个Fragment可以放在一个Activity中(所以上面讲到类似一个嵌套Activity),而这个类可以对这些Fragment进行配置以适应不同的屏幕尺寸(比如平板和手机)。
创建Fragment
我们可以将Fragment当成是一个独立的Activity,它有自己独立的生命周期、获取单独的触发事件,并且在Activity运行的时候可以动态的移除或者添加Fragment。更有趣的是你可以在其他地方重用这个Fragment。本节将展示通过引入支持库,通过继承Fragment来在低版本(最低为1.6版)上运行包含Fragment的程序,保证程序的兼容性。
创建Fragment类
就像创建Activity类一样,继承Fragment,实现一些生命周期中的关键函数,并且记得把你自己的功能代码放到里面去。创建一个Fragment,必须使用onCreateView()定义他的layout布局文件。实际上这是让一个Fragment能够运行起来的唯一一个回调函数,看看下面的例子:
import android.os.Bundle;
import android.support.v4.app.Fragment;
import android.view.LayoutInflater;
import android.view.ViewGroup;
public class ArticleFragment extends Fragment {
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
// Inflate the layout for this fragment
return inflater.inflate(R.layout.article_view, container, false);
}
}
当重用Fragment的时候,每一个实例化的Fragment必须依附于一个父FragmentActivity,我们可以通过在这个父活动的布局文件xml中定义fragment。
下面是一个将两个Fragment添加到一个活动中的例子:
res/layout-large/news_articles.xml:
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
当我们针对各种不同屏幕尺寸的设备设计应用程序的时候,我们可以在不同的布局文件中重用fragments来让客户体验最优化。
比如在平板和手机上,当使用fragment时,表现可能就完全不一样。平板上面我们可以将前后的两个Fragment都显示在屏幕上(因为屏幕空间足够显示了,而且不至于让屏幕空间太空),而在手机上这两个Fragment只能进行切换显示了,因为手机屏幕空间太小,只能够一次显示一屏。