ListView侧滑删除

ListView侧滑删除

效果图

这里写图片描述

效果很好看

代码实现

  1. MessageCenterActivity.java
  2. ListViewAdapter.java
  3. message_center_activity.xml
  4. message_center_item.xml

MessageCenterActivity.java

public class MessageCenterActivity extends Activity implements OnClickListener{
    
    
    private ListView message_center_lv ;
    private ListViewAdapter mAdapter ;
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        // TODO Auto-generated method stub
        super.onCreate(savedInstanceState);
        setContentView(R.layout.message_center_activity);
        initView();

    }
    private void initView() {
        // TODO Auto-generated method stub
        new TitleManager(this, "消息中心", this);
        message_center_lv = (ListView) findViewById(R.id.message_center_lv);
        //设置listview的分割线,顺序不能乱
        message_center_lv.setDivider(new ColorDrawable(Color.GRAY));  
        message_center_lv.setDividerHeight(1);
        mAdapter = new ListViewAdapter(this);

        message_center_lv.setAdapter(mAdapter);
    }
    @Override
    public void onClick(View v) {
        // TODO Auto-generated method stub

    }
}

主界面的布局 message_center_activity.xml

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical" 
    android:background="@drawable/bg">
    <include layout="@layout/title_manager" />
    <ListView 
        android:id="@+id/message_center_lv"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        ></ListView>

</LinearLayout>

ListView的适配器 ListViewAdapter.java

public class ListViewAdapter extends BaseSwipeAdapter {
    
    
    private Context mContext;

    public ListViewAdapter(Context mContext) {
        this.mContext = mContext;
    }
    @Override
    public int getCount() {
        // TODO Auto-generated method stub
        return 6;
    }

    @Override
    public Object getItem(int position) {
        // TODO Auto-generated method stub
        return null;
    }

    @Override
    public long getItemId(int position) {
        return position;
    }

    @Override
    public void fillValues(int position, View convertView) {
        // TODO Auto-generated method stub
        ImageView imageView = (ImageView) convertView.findViewById(R.id.message_center_item_iv);
        TextView message_center_item_sk_tv = (TextView)convertView.findViewById(R.id.message_center_item_sk_tv);
        TextView message_center_item_sksj_tv = (TextView)convertView.findViewById(R.id.message_center_item_sksj_tv);
        TextView message_center_item_skms_tv = (TextView)convertView.findViewById(R.id.message_center_item_skms_tv);
    }

    @Override
    public View generateView(int position, ViewGroup parent) {
        // TODO Auto-generated method stub
        View v = LayoutInflater.from(mContext).inflate(R.layout.message_center_item, null);
        //SwipeLayout swipeLayout = (SwipeLayout)v.findViewById(getSwipeLayoutResourceId(position));


        v.findViewById(R.id.message_center_item_delete).setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View view) {
                Toast.makeText(mContext, "click delete", Toast.LENGTH_SHORT).show();
            }
        });
        return v;
    }

    @Override
    public int getSwipeLayoutResourceId(int position) {
        // TODO Auto-generated method stub
        return R.id.message_center_item_swipe;
    }

}

ListView的item的布局 message_center_item.xml

<?xml version="1.0" encoding="utf-8"?>
<com.daimajia.swipe.SwipeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:swipe="http://schemas.android.com/apk/res/你的包名"
    android:id="@+id/message_center_item_swipe"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    swipe:leftEdgeSwipeOffset="0dp"
    swipe:rightEdgeSwipeOffset="0dp" >

    <LinearLayout
        android:id="@+id/message_center_item_delete"
        android:layout_width="70dp"
        android:layout_height="56dp"
        android:background="#FF5534"
        android:gravity="center"
        android:tag="Bottom3"
        android:weightSum="10" >

        <TextView
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="删除"
            android:textColor="#fff"
            android:textSize="17sp" />
    </LinearLayout>

    <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="56dp"
        android:background="#37414B"
        android:orientation="horizontal" >

        <RelativeLayout
            android:layout_width="56dp"
            android:layout_height="56dp" >

            <ImageView
                android:id="@+id/message_center_item_iv"
                android:layout_width="40dip"
                android:layout_height="40dip"
                android:layout_centerInParent="true"
                android:background="@drawable/aaaaaa"
                android:padding="8dp" />

            <TextView
                android:id="@+id/main_tab_unread_tv"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_alignParentRight="true"
                android:background="@drawable/message_textview_bg"
                android:gravity="center"
                android:text="12"
                android:layout_marginTop="3dp"
                android:layout_marginRight="3dp"
                android:textColor="@android:color/white"
                android:textSize="8dp" />
        </RelativeLayout>

        <RelativeLayout
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:paddingBottom="8dp"
            android:paddingLeft="12dp"
            android:paddingTop="8dp" >

            <RelativeLayout
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:layout_alignParentTop="true" >

                <TextView
                    android:id="@+id/message_center_item_sk_tv"
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content"
                    android:text="上课时间"
                    android:textColor="@color/whitetext" />

                <TextView
                    android:id="@+id/message_center_item_sksj_tv"
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content"
                    android:layout_alignParentRight="true"
                    android:layout_marginRight="10dip"
                    android:text="2016.6.15"
                    android:textColor="@color/defaulttext"
                    android:textSize="12sp" />
            </RelativeLayout>

            <RelativeLayout
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:layout_alignParentBottom="true" >

                <TextView
                    android:id="@+id/message_center_item_skms_tv"
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content"
                    android:text="你的更衣柜将在七天后过期"
                    android:textColor="@color/defaulttext"
                    android:textSize="12sp" />
            </RelativeLayout>
        </RelativeLayout>
    </LinearLayout>

</com.daimajia.swipe.SwipeLayout>

还有个TextView的shape 的图标(圆形的消息提示)

这里写图片描述

在drawable 的文件夹下 新建 message_textview_bg

扫描二维码关注公众号,回复: 11900709 查看本文章
<?xml version="1.0" encoding="utf-8"?>
<shape 
    xmlns:android="http://schemas.android.com/apk/res/android"
    android:shape="oval"
     >
    <solid android:color="#ff0000" />
    <padding 
        android:left="2dp"
        android:top="1dp"
        android:right="3dp"
        android:bottom="2dp"/>

    <stroke
        android:width="1dp"
        android:color="@android:color/white" />

</shape>

在attrs里添加属性

<declare-styleable name="SwipeLayout">
        <attr name="drag_edge">
            <flag name="left" value="1" />
            <flag name="right" value="2" />
            <flag name="top" value="4" />
            <flag name="bottom" value="8" />
        </attr>
        <attr name="leftEdgeSwipeOffset" format="dimension" />
        <attr name="rightEdgeSwipeOffset" format="dimension" />
        <attr name="topEdgeSwipeOffset" format="dimension" />
        <attr name="bottomEdgeSwipeOffset" format="dimension" />
        <attr name="show_mode" format="enum">
            <enum name="lay_down" value="0" />
            <enum name="pull_out" value="1" />
        </attr>
        <attr name="clickToClose" format="boolean" />
    </declare-styleable>

用到的jar包,下载地址 http://download.csdn.net/detail/u014120638/9552718
demo下载 点我下载

猜你喜欢

转载自blog.csdn.net/u014120638/article/details/51700006
今日推荐