0

私は、画像の QuiltView ギャラリーを作成するためにQuiltViewLibraryを使用していた Android のソーシャル ネットワーキング アプリに取り組んでいます。

同じアプリケーションで、GridView のHANDMARKS Pull to Refresh ライブラリを使用しました。

どちらも正常に動作しています。ここで、QuiltView GALLERY の PULL TO REFRESH という複合タスク用に両方のライブラリを実装する必要があります。

私が得ている問題は、まったく異なる両方のライブラリの XML を結合することです。

単純な GRID VIEW を使用した PullToRefresh の XML:

<!-- 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 ギャラリーの 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>

誰かが私に何か提案できるかどうか教えてください。

4

2 に答える 2

1

これは非常に簡単です:

  • Chris Banes の pulltorfresh ライブラリがサポートScrollView
  • QuiltView ライブラリは単なる拡張機能ですGridLayout(GridView やその他のアダプター クラスではありません)。

のインスタンスQuiltView内に のインスタンスを配置しますPullToRefreshScrollView。例javaxml .

これより複雑であってはなりません:

<?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>
于 2013-12-17T06:30:10.323 に答える
0

handmark の pulltorefresh ライブラリを引き続き使用して、その中の quiltview で動作する pulltorefresh ビューを作成できます。QuiltView は FrameLayout を拡張するため、handmark の pull to refresh で直接使用することはできませんが、目の前に 3 つのオプションがあります。

1. PullToRefreshBase クラスを拡張して、PullToRefreshQuiltView の新しいクラスを作成します。

PullToRefreshBase を拡張するクラスを作成するだけで、PullToRefreshWebView クラスを確認して、その方法を理解できます。

2. QuiltViewの設定機能でスクロールビューを使う

このリンクの50行目を参照してください セットアップ関数のスクロールビューをpullToRefreshScrollViewに変更するか、このスクロールビューをptrビューに追加できます。

3. Handmark の PullToRefresh または android SwipeRefreshLayout 内の GridLayoutManager で RecyclerView を使用する

もう 1 つのオプションは、ハンドマークの pulltorefresh または android の SwipeRefreshLayout 内で GridLayoutManager ( GridLayoutManager Span Size RecycleViewのようなもの) で RecyclerView を使用することです。

SwipeRefreshLayout の詳細については、Android ドキュメントを確認してください。

于 2015-12-24T09:38:40.397 に答える