• Android-Viewflow 开源的UI设计组件(二)


    Android-Viewflow 是一个开源的UI设计组件,该项目的工作区UI设计模式与Google Docs所使用非常相似。

    android-viewflow android-viewflow-2

    用法:

    1、In your layout

    <org.taptwo.android.widget.ViewFlow
        android:id="@+id/viewflow"
        app:sidebuffer="5"
        />
    The use of app:sidebuffer is optional. It defines the number of Views to buffer on each side of the currently shown View. The default sidebuffer is 3, making up a grand total of 7 (3 * 2 + 1) Views loaded at a time (at max). To be able to use the more convenient app:sidebuffer attribute, the application namespace must be included in the same manner as the android namespace is. Please refer to the layout main.xml in the example project for a full example. Again, note that it's the application namespace and not the viewflow namespace that must be referred like xmlns:app="http://schemas.android.com/apk/res/your.application.package.here".

    2、In your activity

    ViewFlow viewFlow = (ViewFlow) findViewById(R.id.viewflow);
    viewFlow.setAdapter(myAdapter);
    Setting a different initial position (0 being default) is as easy as:

    viewFlow.setAdapter(myAdapter, 8);
    Although possible, you should not call setSelection(...) immediately after calling setAdapter(myAdapter) as that might load unnecessary views giving you a decrease in performance.

    3、Listen on screen change events

    If you need to listen to screen change events you would want to implement your own ViewFlow.ViewSwitchListener and pass it to the setOnViewSwitchListener() method.

    viewFlow.setOnViewSwitchListener(new ViewSwitchListener() {
        public void onSwitched(View v, int position) {
            // Your code here
        }
    });
    4、Flow Indicator

    It is also possible to add a flow view indicator to your layout. The purpose of a FlowIndicator is to present a visual representation of where in the item list focus is at. You may either implement a FlowIndicator yourself or use an implementation provided by the View Flow library. The View Flow library currently supports the following indicators:

    Circle Flow Indicator
    This indicator shows a circle for each View in the adapter with a special circle representing the currently selected view (see screenshot below).

    <org.taptwo.android.widget.CircleFlowIndicator
        android:padding="10dip" android:layout_height="wrap_content"
        android:layout_width="wrap_content" android:id="@+id/viewflowindic"
        android:background="#00000000"/>
    And then you'll need to connect your ViewFlow with the FlowIndicator:

    CircleFlowIndicator indic = (CircleFlowIndicator) findViewById(R.id.viewflowindic);
    viewFlow.setFlowIndicator(indic);
    The following attributes are supported: activeColor, inactiveColor, activeType (either fill or stroke), inactiveType (either fill or stroke), fadeOut (time in ms until indicator fades out, 0 = never), radius.

    Title Flow Indicator
    This indicator presents the title of the previous, current and next View in the adapter (see screenshot below).

        <org.taptwo.android.widget.TitleFlowIndicator
            android:id="@+id/viewflowindic" android:layout_height="wrap_content"
            android:layout_width="fill_parent"
            app:footerLineHeight="2dp"
            app:footerTriangleHeight="10dp" app:textColor="#FFFFFFFF" app:selectedColor="#FFFFC445"
            app:footerColor="#FFFFC445" app:titlePadding="10dp" app:textSize="11dp" app:selectedSize="12dp"
            android:layout_marginTop="10dip"
            app:clipPadding="5dp" />
    And then you'll need to connect your ViewFlow with the FlowIndicator:

        TitleFlowIndicator indicator = (TitleFlowIndicator) findViewById(R.id.viewflowindic);
        indicator.setTitleProvider(myTitleProvider);
        viewFlow.setFlowIndicator(indicator);

    点击次数   官方主页【官方主页】   下载地址【下载地址】

    网友留言/评论

    我要留言/评论

    相关开源项目

    Android apktool: Android apktool是一个用来处理APK文件的工具,可以对APK进行反编译生成程序的源代码和图片、XML配置、语言资源等文件,也可以添加新的功能到APK文件中。用该工具来汉化Android软件然后重新打包发布是相当简单的。
    Android游戏引擎 Lib9: Lib9是一套简单易学功能强大的程序引擎(开源项目,目前支持j2me和android的程序开发),它的核心思想是程序就是一个状态机,程序的每个部分都是一个状态,每个状态采用了IUP(Init、Update和Paint)的架构设计,大大的简化手机或者移动应用程序,特别是游戏的开发,IUP架构的使用还使得开发独立组件变得异常容易,只要实现了L9IState接口那么就是一个具体的状态了,为了让开发变得更加简单,Lib9还提供了虚拟按键的支持,就是说在程序的任何地方都可以判断用户的按键,同时它还包括了一个功能强大的编辑器工具(L9Editor),L9Editor可以支持动画编辑、地图编辑、文本编辑,可将声音按照二进制的方式组织,通过和编辑器的配合,使得程序、美术、策划得以更好的展开协作式工作,大大提供了团队的工作效率,因此可以说Lib9对初学者来说是简单易学的,对编程高手来说是省力省心的、对团队来说是高效率的!
    libsdl-android开源的跨平台多媒体开发库:libsdl-android 是一套在安卓上的开放源代码的跨平台多媒体开发库,主要使用C语言写成。SDL提供了数种控制图像、声音、输出入的函数,让开发者只要用相同或是相似的代码就可以开发出跨多个平台(Linux、Windows、Mac OS X等)的应用软件。目前SDL多用于开发游戏、模拟器、媒体播放器等多媒体应用领域。libsdl-android也包含了不少游戏。
    android-smspopup: android-smspopup这个Android应用程序能够拦截收到的短消息并在一个弹出框中显示消息内容和联系人头像。此外还可以自定义LED颜色,振动模式,当第一次提醒显示没有看到时会重复提醒用户哪些信息没有看过。
    m2e-android: Android Configurator 是一个 Eclipse 的 Maven 集成插件——m2e 的插件,用于支持 Android Developer Tools (ADT) 和 Maven Android Plugin. 为 ADT 提供 Maven 强大的依赖管理。

    Remote Launcher: Remote Launcher是一个易于使用的工具能够让你通过Android设备启动远程PC机上的应用程序。它由一个Android应用和部署在远程PC机上的一个服务器程序组成。 可以配置Remote Launcher来启动在你PC机上的任意应用程序比如:开机/关机或运行一个自定义的脚本。因为Remote Launcher的服务器端程序是采用Java开发的,所以它可以用于所有已经安装Java1.6以上运行环境的PC中,可以是Linux、Windows或Mac OS。
    Android PC_BCR: Android PC_BCR让你能够使用你的Android手机做为PC机的外围条形码扫描仪。扫描的条形码将通过WiFi网络连接传PC机中。这个开源项目由多个组件组成,在手机设备上PC_BCR使用ZXing扫描仪器来扫描条形码,然后程序通过网络传到PC中,PC中有专门的PC_BCR程序接收。
    android-binding: android-binding这个开源项目提供了一个框架用于将android view widgets与数据模型相绑定。帮助您在android应用程序中实现MVC或MVVM模式。
    iosched: Google I/O是Google每年都会举办的历时两天的开发者大会,该大会谈及各种技术问题。开发人员会提供非常多的示例来展示他们的技术。这个项目专门为了这个会议提供了一个Android应用程序。可以利用这个程序来查看日程安排、查看会议详细安排和演讲者信息、使用会议地图向导等。
    收录时间:2011-06-20 15:16:53
    android-bluetooth: 非常官方Android Bluetooth API支持远程设备扫描、远程设备配对,服务发现(SDP)和客户端RFCOMM串行连接。