类似iOS带弹簧效果的左右滑动控件,可作为AbsListView和RecyclerView的item。支持给BGASwipeItemLayout和其子控件设置margin和padding属性
Gradle依赖
dependencies {
compile 'com.android.support:support-v4:latestVersion'
compile 'cn.bingoogolapple:bga-swipeitemlayout:latestVersion@aar'
}
BGASwipeItemLayout方法说明
/**
* 以动画方式打开
*/
public void openWithAnim()
/**
* 以动画方式关闭
*/
public void closeWithAnim()
/**
* 直接打开
*/
public void open()
/**
* 直接关闭。如果在AbsListView中删除已经打开的item时,请用该方法关闭item,否则重用item时有问题。RecyclerView中可以用该方法,也可以用closeWithAnim
*/
public void close()
/**
* 当前是否为打开状态
*
* @return
*/
public boolean isOpened()
/**
* 当前是否为关闭状态
*
* @return
*/
public boolean isClosed()
/**
* 获取顶部视图
*
* @return
*/
public View getTopView()
/**
* 获取底部视图
*
* @return
*/
public View getBottomView()
/**
* 设置是否可滑动
*
* @return
*/
public void setSwipeAble(boolean swipeAble)
BGASwipeItemLayoutDelegate接口说明
/**
* 变为打开状态
*
* @param swipeItemLayout
*/
void onBGASwipeItemLayoutOpened(BGASwipeItemLayout swipeItemLayout);
/**
* 变为关闭状态
*
* @param swipeItemLayout
*/
void onBGASwipeItemLayoutClosed(BGASwipeItemLayout swipeItemLayout);
/**
* 从关闭状态切换到正在打开状态
*
* @param swipeItemLayout
*/
void onBGASwipeItemLayoutStartOpen(BGASwipeItemLayout swipeItemLayout);
自定义属性说明
属性名 | 说明 | 默认值 |
---|---|---|
bga_sil_swipeDirection | 往左滑还是往右滑为打开状态(left或right) | left |
bga_sil_bottomMode | 底部视图展现方式(layDown或pullOut) | pullOut |
bga_sil_springDistance | 弹簧距离 | 0dp |
bga_sil_swipeAble | 是否可左右滑动 | true |
xml布局
<cn.bingoogolapple.swipeitemlayout.BGASwipeItemLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:id="@+id/sil_item_swipe_root"
android:layout_width="match_parent"
android:layout_height="wrap_content"
app:bga_sil_bottomMode="pullOut"
app:bga_sil_springDistance="0dp"
app:bga_sil_swipeDirection="left">
<LinearLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginRight="0dp"
android:background="@android:color/white"
android:gravity="top"
android:orientation="horizontal">
<TextView
android:id="@+id/tv_item_swipe_detail"
android:layout_width="50dp"
android:layout_height="40dp"
android:background="@color/sys_light_purple_color"
android:clickable="true"
android:gravity="center"
android:text="详情"
android:textColor="@color/white"
android:textSize="14sp" />
<TextView
android:id="@+id/tv_item_swipe_delete"
android:layout_width="50dp"
android:layout_height="40dp"
android:background="@color/sys_red_color"
android:clickable="true"
android:gravity="center"
android:text="删除"
android:textColor="@color/white"
android:textSize="14sp" />
</LinearLayout>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical">
</LinearLayout>
</cn.bingoogolapple.swipeitemlayout.BGASwipeItemLayout>