帶拖放可移動的分頁網格:PagedDragDropGrid
一個Android ViewGroup,實現了一個拖放移動項目的分頁網格。支持 Android 2.2 (API 8) 以上。
用法:
定義一個適配器符合接口 PagedDragDropGridAdapter.java
public interface PagedDragDropGridAdapter {
// Automatic child distribution
public final static int AUTOMATIC = -1;
// Delete drop zone location TOP
public final static int TOP = 1;
// Delete drop zone location BOTTOM
public final static int BOTTOM = 2;
/**
* Used to create the paging
*
* @return the page count
*/
public int pageCount();
/**
* Returns the count of item in a page
*
* @param page index
* @return item count for page
*/
public int itemCountInPage(int page);
/**
* Returns the view for the item in the page
*
* @param page index
* @param item index
* @return the view
*/
public View view(int page, int index);
/**
* The fixed row count (AUTOMATIC for automatic computing)
*
* @return row count or AUTOMATIC
*/
public int rowCount();
/**
* The fixed column count (AUTOMATIC for automatic computing)
*
* @return column count or AUTOMATIC
*/
public int columnCount();
/**
* Prints the layout in Log.d();
*/
public void printLayout();
/**
* Swaps two items in the item list in a page
*
* @param pageIndex
* @param itemIndexA
* @param itemIndexB
*/
public void swapItems(int pageIndex, int itemIndexA, int itemIndexB);
/**
* Moves an item in the page on the left of provided the page
*
* @param pageIndex
* @param itemIndex
*/
public void moveItemToPreviousPage(int pageIndex, int itemIndex);
/**
* Moves an item in the page on the right of provided the page
*
* @param pageIndex
* @param itemIndex
*/
public void moveItemToNextPage(int pageIndex, int itemIndex);
/**
* deletes the item in page and at position
*
* @param pageIndex
* @param itemIndex
*/
public void deleteItem(int pageIndex, int itemIndex);
/**
* Returns the delete drop zone location.
*
* @return TOP or BOTTOM.
*/
public int deleteDropZoneLocation();
/**
* Tells the grid to show or not the remove drop zone when moving an item
*/
public boolean showRemoveDropZone();
} layout example.xml
<ca.laplanete.mobile.pageddragdropgrid.PagedDragDropGrid xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/gridview"
android:layout_width="fill_parent"
android:layout_height="fill_parent"/> ExampleActivity.java
setContentView(R.layout.example);
PagedDragDropGrid gridview = (PagedDragDropGrid) findViewById(R.id.gridview);
gridview.setAdapter(new ExamplePagedDragDropGridAdapter(this));
/* Optionally set an onClickListener */
gridview.setClickListener(this);
/* Optionally set an setOnPageChangedListener */
gridview.setOnPageChangedListener(new OnPageChangedListener() {
@Override
public void onPageChanged(PagedDragDropGrid sender, int newPageNumber) {
Toast.makeText(ExampleActivity.this, "Page changed to page " + newPageNumber, Toast.LENGTH_SHORT).show();
}
}); 本文由用戶 jopen 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。
轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。
本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!