您的位置:首页 > 其它

ListView侧滑删除

2016-06-17 15:03 323 查看

ListView侧滑删除

效果图



效果很好看

代码实现

MessageCenterActivity.java

ListViewAdapter.java

message_center_activity.xml

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

<?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下载 点我下载
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  listview侧滑