我正在开发一个Android社交网络应用程序,我使用 QuiltViewLibrary 制作QuiltView图像库。
在同一个应用程序中,我使用了GridView的 HANDMARKS Pull to Refresh库。
两者都运转良好。现在我必须为组合任务实现两个库,即QuiltView GALLERY中的PULL TO REFRESH。
我得到的问题是将两个完全不同的LIBRARIES的XML结合起来。
PullToRefresh的XML,带有简单的GRID VIEW:
<!-- The PullToRefreshGridView replaces a standard GridView widget. -->
<com.handmark.pulltorefresh.library.PullToRefreshGridView
xmlns:ptr="http://schemas.android.com/apk/res-auto"
android:id="@+id/pull_refresh_grid"
android:layout_height="fill_parent"
android:layout_width="fill_parent"
android:numColumns="auto_fit"
android:verticalSpacing="1dp"
android:horizontalSpacing="1dp"
android:columnWidth="100dp"
android:stretchMode="columnWidth"
android:gravity="fill"
ptr:ptrMode="both"
ptr:ptrDrawable="@drawable/ic_launcher" />
</LinearLayout>
QuiltView Gallery的XML:
<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
xmlns:quilt="http://schemas.android.com/apk/res/com.tv.photos"
android:id="@+id/FrameLayout1"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="@android:color/white" >
<com.tv.photos.QuiltView
android:id="@+id/quilt"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:padding="5dip" >
</com.tv.photos.QuiltView>
</FrameLayout>
如果有人可以建议我,请告诉我。
答案 0 :(得分:1)
这很简单:
ScrollView
GridLayout
的扩展(不是GridView或任何其他适配器类)将QuiltView
的实例放在PullToRefreshScrollView
的实例中。示例java,xml。
不应该比这更复杂:
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:orientation="vertical" >
<com.handmark.pulltorefresh.library.PullToRefreshScrollView
xmlns:ptr="http://schemas.android.com/apk/res-auto"
android:id="@+id/pull_refresh_scrollview"
android:layout_width="fill_parent"
android:layout_height="fill_parent" >
<com.tv.photos.QuiltView
android:id="@+id/quilt"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:padding="5dip" />
</com.handmark.pulltorefresh.library.PullToRefreshScrollView>
</LinearLayout>
答案 1 :(得分:0)
您可以继续使用handmark的pulltorefresh库并创建一个pulltorefresh视图,该视图可以在其中使用quiltview。 由于QuiltView扩展了FrameLayout,你不能直接在handmark的拉动中使用它来刷新,但你面前有3个选项:
<强> 1。通过扩展PullToRefreshBase类创建新的PullToRefreshQuiltView类。
只需创建一个扩展PullToRefreshBase的类 您可以查看PullToRefreshWebView类以了解如何执行此操作。
<强> 2。使用QuiltView的设置功能中的scrollview
See line 50 of this link 您可以将setup函数中的scrollview更改为pullToRefreshScrollView,也可以将此scrollView添加到ptr视图中。
第3。在Handmark&#39; PullToRefresh或android SwipeRefreshLayout中使用RecyclerView和GridLayoutManager
另一种选择是使用带有GridLayoutManager的RecyclerView(看起来像GridLayoutManager Span Size RecycleView的东西)在handmark&#39;的pulltorefresh或android的SwipeRefreshLayout中。
有关SwipeRefreshLayout的更多信息,请查看android文档。