`
rensanning
  • 浏览: 3548118 次
  • 性别: Icon_minigender_1
  • 来自: 大连
博客专栏
Efef1dba-f7dd-3931-8a61-8e1c76c3e39f
使用Titanium Mo...
浏览量:38136
Bbab2146-6e1d-3c50-acd6-c8bae29e307d
Cordova 3.x入门...
浏览量:607280
C08766e7-8a33-3f9b-9155-654af05c3484
常用Java开源Libra...
浏览量:682280
77063fb3-0ee7-3bfa-9c72-2a0234ebf83e
搭建 CentOS 6 服...
浏览量:89329
E40e5e76-1f3b-398e-b6a6-dc9cfbb38156
Spring Boot 入...
浏览量:401825
Abe39461-b089-344f-99fa-cdfbddea0e18
基于Spring Secu...
浏览量:69686
66a41a70-fdf0-3dc9-aa31-19b7e8b24672
MQTT入门
浏览量:91694
社区版块
存档分类
最新评论

Android UI ListView的滑动删除效果之SwipeListView

 
阅读更多
SwipeListView是对ListView的扩展,实现滑动显示删除等操作按钮。

https://github.com/47deg/android-swipelistview

***依赖于NineOldAndroids https://github.com/JakeWharton/NineOldAndroids

在layout的布局文件中使用SwipeListView:
<com.fortysevendeg.swipelistview.SwipeListView
            xmlns:swipe="http://schemas.android.com/apk/res-auto"
            android:id="@+id/example_lv_list"
            android:listSelector="#00000000"
            android:layout_width="fill_parent"
            android:layout_height="wrap_content"
            swipe:swipeFrontView="@+id/front"
            swipe:swipeBackView="@+id/back"
            swipe:swipeActionLeft="[reveal | dismiss]"
            swipe:swipeActionRight="[reveal | dismiss]"
            swipe:swipeMode="[none | both | right | left]"
            swipe:swipeCloseAllItemsWhenMoveList="[true | false]"
            swipe:swipeOpenOnLongPress="[true | false]"
            swipe:swipeAnimationTime="[miliseconds]"
            swipe:swipeOffsetLeft="[dimension]"
            swipe:swipeOffsetRight="[dimension]"
            />

  • swipeFrontView - Required - front view id.
  • swipeBackView - Required - back view id.
  • swipeActionLeft - Optional - left swipe action Default: 'reveal'
  • swipeActionRight - Optional - right swipe action Default: 'reveal'
  • swipeMode - Gestures to enable or 'none'. Default: 'both'
  • swipeCloseAllItemsWhenMoveList - Close revealed items on list motion. Default: 'true'
  • swipeOpenOnLongPress - Reveal on long press Default: 'true'
  • swipeAnimationTime - item drop animation time. Default: android configuration
  • swipeOffsetLeft - left offset
  • swipeOffsetRight - right offset


swipeFrontView和swipeBackView必须和list_item.xml中设置的布局ID相同。
<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="60dp"
    tools:context=".MainActivity" >

    <LinearLayout
        android:id="@+id/back"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:background="#ffcccccc"
        android:gravity="center|right" >
        <Button
            android:id="@+id/remove"
            style="@style/button_text"
            android:layout_width="80dp"
            android:layout_height="wrap_content"
            android:layout_gravity="center"
            android:background="@drawable/red_button"
            android:text="Delete" >
        </Button>
    </LinearLayout>

    <LinearLayout
        android:id="@+id/front"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:background="#ffffffff" >
        <TextView
            android:id="@+id/text"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_marginLeft="10dp"
            android:textSize="25sp"
            android:gravity="center_vertical"
            android:minHeight="?android:attr/listPreferredItemHeight"
            android:textAppearance="?android:attr/textAppearanceLarge" >
        </TextView>
    </LinearLayout>

</FrameLayout>


效果图:


对比微信5的订阅号页面:

  • 大小: 45.6 KB
  • 大小: 90.2 KB
分享到:
评论
7 楼 rensanning 2015-01-12  
错误信息已经提示你了,<com.fortysevendeg.swipelistview.SwipeListView>的属性设置有问题。
引用
java.lang.NumberFormatException: Invalid int: "@2131427497"
6 楼 小黑z 2015-01-11  
java.lang.RuntimeException: Unable to start activity ComponentInfo{org.mo.pmas.activity/org.mo.pmas.activity.ContactGroupActivity}: android.view.InflateException: Binary XML file line #8: Error inflating class com.fortysevendeg.android.swipelistview.SwipeListView
            at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2333)
            at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2385)
            at android.app.ActivityThread.access$600(ActivityThread.java:157)
            at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1341)
            at android.os.Handler.dispatchMessage(Handler.java:99)
            at android.os.Looper.loop(Looper.java:153)
            at android.app.ActivityThread.main(ActivityThread.java:5349)
            at java.lang.reflect.Method.invokeNative(Native Method)
            at java.lang.reflect.Method.invoke(Method.java:511)
            at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:853)
            at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:620)
            at dalvik.system.NativeStart.main(Native Method)
     Caused by: android.view.InflateException: Binary XML file line #8: Error inflating class com.fortysevendeg.android.swipelistview.SwipeListView
            at android.view.LayoutInflater.createView(LayoutInflater.java:683)
            at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:757)
            at android.view.LayoutInflater.rInflate(LayoutInflater.java:816)
            at android.view.LayoutInflater.inflate(LayoutInflater.java:559)
            at android.view.LayoutInflater.inflate(LayoutInflater.java:466)
            at android.view.LayoutInflater.inflate(LayoutInflater.java:419)
            at com.android.internal.policy.impl.PhoneWindow.setContentView(PhoneWindow.java:357)
            at android.app.Activity.setContentView(Activity.java:1981)
            at org.mo.pmas.activity.ContactGroupActivity.onCreate(ContactGroupActivity.java:27)
            at android.app.Activity.performCreate(Activity.java:5224)
            at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1081)
            at com.lbe.security.service.core.client.internal.InstrumentationDelegate.callActivityOnCreate(InstrumentationDelegate.java:76)
            at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2297)
            at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2385)
            at android.app.ActivityThread.access$600(ActivityThread.java:157)
            at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1341)
            at android.os.Handler.dispatchMessage(Handler.java:99)
            at android.os.Looper.loop(Looper.java:153)
            at android.app.ActivityThread.main(ActivityThread.java:5349)
            at java.lang.reflect.Method.invokeNative(Native Method)
            at java.lang.reflect.Method.invoke(Method.java:511)
            at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:853)
            at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:620)
            at dalvik.system.NativeStart.main(Native Method)
     Caused by: java.lang.reflect.InvocationTargetException
            at java.lang.reflect.Constructor.constructNative(Native Method)
            at java.lang.reflect.Constructor.newInstance(Constructor.java:417)
            at android.view.LayoutInflater.createView(LayoutInflater.java:657)
            at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:757)
            at android.view.LayoutInflater.rInflate(LayoutInflater.java:816)
            at android.view.LayoutInflater.inflate(LayoutInflater.java:559)
            at android.view.LayoutInflater.inflate(LayoutInflater.java:466)
            at android.view.LayoutInflater.inflate(LayoutInflater.java:419)
            at com.android.internal.policy.impl.PhoneWindow.setContentView(PhoneWindow.java:357)
            at android.app.Activity.setContentView(Activity.java:1981)
            at org.mo.pmas.activity.ContactGroupActivity.onCreate(ContactGroupActivity.java:27)
            at android.app.Activity.performCreate(Activity.java:5224)
            at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1081)
            at com.lbe.security.service.core.client.internal.InstrumentationDelegate.callActivityOnCreate(InstrumentationDelegate.java:76)
            at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2297)
            at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2385)
            at android.app.ActivityThread.access$600(ActivityThread.java:157)
            at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1341)
            at android.os.Handler.dispatchMessage(Handler.java:99)
            at android.os.Looper.loop(Looper.java:153)
            at android.app.ActivityThread.main(ActivityThread.java:5349)
            at java.lang.reflect.Method.invokeNative(Native Method)
            at java.lang.reflect.Method.invoke(Method.java:511)
            at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:853)
            at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:620)
            at dalvik.system.NativeStart.main(Native Method)
     Caused by: java.lang.NumberFormatException: Invalid int: "@2131427497"
            at java.lang.Integer.invalidInt(Integer.java:138)
            at java.lang.Integer.parse(Integer.java:375)
            at java.lang.Integer.parseInt(Integer.java:366)
            at com.android.internal.util.XmlUtils.convertValueToInt(XmlUtils.java:123)
            at android.content.res.TypedArray.getInt(TypedArray.java:254)
            at com.fortysevendeg.android.swipelistview.SwipeListView.init(SwipeListView.java:183)
            at com.fortysevendeg.android.swipelistview.SwipeListView.<init>(SwipeListView.java:149)
            at java.lang.reflect.Constructor.constructNative(Native Method)
            at java.lang.reflect.Constructor.newInstance(Constructor.java:417)
            at android.view.LayoutInflater.createView(LayoutInflater.java:657)
            at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:757)
            at android.view.LayoutInflater.rInflate(LayoutInflater.java:816)
            at android.view.LayoutInflater.inflate(LayoutInflater.java:559)
            at android.view.LayoutInflater.inflate(LayoutInflater.java:466)
            at android.view.LayoutInflater.inflate(LayoutInflater.java:419)
            at com.android.internal.policy.impl.PhoneWindow.setContentView(PhoneWindow.java:357)
            at android.app.Activity.setContentView(Activity.java:1981)
            at org.mo.pmas.activity.ContactGroupActivity.onCreate(ContactGroupActivity.java:27)
            at android.app.Activity.performCreate(Activity.java:5224)
            at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1081)
            at com.lbe.security.service.core.client.internal.InstrumentationDelegate.callActivityOnCreate(InstrumentationDelegate.java:76)
            at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2297)
            at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2385)
            at android.app.ActivityThread.access$600(ActivityThread.java:157)
            at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1341)
            at android.os.Handler.dispatchMessage(Handler.java:99)
            at android.os.Looper.loop(Looper.java:153)
            at android.app.ActivityThread.main(ActivityThread.java:5349)
            at java.lang.reflect.Method.invokeNative(Native Method)
            at java.lang.reflect.Method.invoke(Method.java:511)
            at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:853)
            at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:620)
            at dalvik.system.NativeStart.main(Native Method)
5 楼 小黑z 2015-01-11  
根本就用不了,浪费我时间
4 楼 小黑z 2015-01-11  
Binary XML file line #8: Error inflating class com.fortysevendeg.android.swipelistview.SwipeListView
3 楼 小黑z 2015-01-11  
用不了啊Error:Android Dex: [pmas] com.android.dex.DexException: Multiple dex files define Lcom/nineoldandroids/animation/Animator$AnimatorListener;
2 楼 t1030338120 2014-11-05  
  
1 楼 luolinxi 2014-10-22  
   

相关推荐

    Android 仿微信对话列表滑动删除效果

    SwipeListView是Android的一个开源库,它为ListView提供了滑动触发的功能,比如左右滑动展示更多操作、滑动删除等。这个库扩展了ListView的功能,使得开发者可以方便地在列表项上添加自定义的滑动效果。 2. **集成...

    Android高级应用源码-android-swipelistview-支持左右滑动.zip

    SwipeListView是一款强大的Android第三方库,它扩展了ListView的功能,允许用户通过左右滑动来触发不同的操作,如删除、标记等。这种设计灵感源自于许多流行的应用,如邮件应用中的滑动删除功能。它极大地提升了用户...

    Listview滑动删除Demo

    本教程将聚焦于一个具体的应用场景——“Listview滑动删除Demo”,这对于初学者来说是一个很好的实践项目,可以帮助理解如何在ListView中实现滑动删除的功能。 1. **ListView基本概念** - `ListView`是Android SDK...

    swipelistview左滑删除

    Swipelistview左滑删除是Android开发中一种常见的交互设计,它模仿了微信等应用中的功能,让用户可以轻松地通过向左滑动列表项来触发删除或其他操作。这个功能极大地提升了用户界面的交互性和易用性。在Android-...

    横竖都能滑动的 listview 嵌套在一起的

    在Android原生的UI组件中,ListView本身只能实现单一方向的滚动,而要实现这种双向嵌套滑动的效果,开发者通常需要自定义ViewGroup或利用现有的开源库。 描述中提到的“android源码,0分下载了”,暗示这是一个开源...

    安卓listview仿QQ滑动删除

    总的来说,"安卓listview仿QQ滑动删除"是一个关于Android UI交互设计和自定义组件实现的实战案例。通过学习这个项目,开发者可以提升对Android ListView及其扩展的理解,掌握滑动删除这一流行交互模式的实现技巧,为...

    支持左右滑动listview

    为了实现类似QQ通讯录那样的左右滑动效果,我们可以借助第三方库,如`android-swipelistview`。这个库允许我们为ListView的每一项添加滑动手势,滑动时可以显示或隐藏菜单,增强了用户体验。 **左右滑动Listview的...

    ListView滑动

    标题提到的“ListView滑动”通常指的是ListView的侧滑效果,即用户可以左右滑动ListView的条目,以显示更多的操作选项或实现其他交互功能。这个特性在很多应用中都能见到,比如邮件应用中的邮件标记为已读或未读,...

    android QQ消息左滑动删除实例(优化版SwipeListViewEX)

    "SwipeListViewEX"是一个强大的Android库,它扩展了标准的ListView组件,提供了左右滑动操作,使得在列表项上执行额外的动作如删除、标记等变得更加直观。 首先,我们需要理解SwipeListViewEX的工作原理。这个库的...

    Android应用源码之-swipelistview-master.zip

    首先,Swipelistview基于Android的ListView进行扩展,主要通过自定义Adapter来实现滑动效果。在源码中,我们能看到一个名为`SwipeListView`的类,它是对`ListView`的封装,提供了滑动相关的接口和方法。例如,`...

    ListView侧拉第三方JAR包

    除了基本的滑动效果,SwipeListView还提供了其他高级功能,比如动画效果、自定义滑动指示器、以及多方向滑动等。通过这些功能,你可以让应用的交互更加丰富和吸引人。 总的来说,SwipeListView是一个强大的工具,...

    android-swipelistview-master.zip

    “android-swipelistview-master”是一个专为Android平台设计的开源库,它扩展了标准的ListView组件,添加了滑动触发的侧滑效果,使得用户可以轻松地通过滑动手势来执行删除或其他操作。这个库在GitHub上受到了广泛...

    Android应用源码之swipeListView优化案例.zip

    在Android开发中,SwipeListView是一种常见的交互组件,它允许用户通过滑动列表项来执行不同的操作,如右滑显示更多选项或左滑进行删除。在这个"Android应用源码之swipeListView优化案例.zip"中,我们可以深入理解...

    SwipeListView实例源码

    SwipeListView 是一个在Android平台上广泛使用的视图组件,它提供了类似微信、QQ等应用中的滑动操作以实现列表项的删除或者其他交互效果。这个组件扩展了Android原生的ListView,增加了左右滑动触发不同事件的功能,...

    android开源项目swipelistview实例demo 源码程序

    在Android开发中,SwipelistView是一个非常实用的开源组件,它为开发者提供了在ListView中实现滑动操作的功能。这个开源项目"android-swipelistview实例demo"是基于Android平台的,旨在帮助开发者更好地理解和应用...

    仿qq滑动删除

    在给定的文件"SwipeListView"中,我们可以推断这是一个用于实现滑动删除效果的Android UI组件。SwipeListView通常是一个自定义的ListView,它扩展了原生的ListView功能,添加了滑动手势支持。开发者可以利用这个组件...

    安卓listview相关相关-仿知乎滑动删除可撤销Listview.zip

    综上所述,这个项目涉及到Android开发中的ListView自定义、滑动交互、动画效果、事件处理以及可撤销操作等多个核心知识点,对于提升Android UI交互设计和用户体验的理解有着重要的学习价值。对于初学者来说,研究并...

Global site tag (gtag.js) - Google Analytics