Skip to content

Commit

Permalink
Merge pull request #470 from AllenCoder/master
Browse files Browse the repository at this point in the history
fix view and childview click effect and add long  click feedback
  • Loading branch information
CymChad authored Nov 7, 2016
2 parents ecf72c2 + f77fd6a commit a7afefa
Show file tree
Hide file tree
Showing 22 changed files with 434 additions and 42 deletions.
11 changes: 2 additions & 9 deletions .idea/gradle.xml

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

34 changes: 18 additions & 16 deletions app/src/main/AndroidManifest.xml
Original file line number Diff line number Diff line change
@@ -1,31 +1,33 @@
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.chad.baserecyclerviewadapterhelper">
<manifest package="com.chad.baserecyclerviewadapterhelper"
xmlns:android="http://schemas.android.com/apk/res/android">

<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.INTERNET"/>

<application
android:allowBackup="true"
android:icon="@mipmap/logo"
android:label="@string/app_name"
android:supportsRtl="true">
<activity android:name=".PullToRefreshUseActivity"></activity>
<activity android:name=".PullToRefreshUseActivity"/>
<activity android:name=".HomeActivity">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<action android:name="android.intent.action.MAIN"/>

<category android:name="android.intent.category.LAUNCHER" />
<category android:name="android.intent.category.LAUNCHER"/>
</intent-filter>
</activity>
<activity android:name=".AnimationUseActivity"></activity>
<activity android:name=".HeaderAndFooterUseActivity"></activity>
<activity android:name=".SectionUseActivity"></activity>
<activity android:name=".MultipleItemUseActivity"></activity>
<activity android:name=".EmptyViewUseActivity"></activity>
<activity android:name=".ItemDragAndSwipeUseActivity"></activity>
<activity android:name=".RecyclerClickItemActivity"></activity>
<activity android:name=".ExpandableUseActivity"></activity>
<activity android:name=".DataBindingUseActivity"></activity>
<activity android:name=".AnimationUseActivity"/>
<activity android:name=".HeaderAndFooterUseActivity"/>
<activity android:name=".SectionUseActivity"/>
<activity android:name=".MultipleItemUseActivity"/>
<activity android:name=".EmptyViewUseActivity"/>
<activity android:name=".ItemDragAndSwipeUseActivity"/>
<activity android:name=".RecyclerClickItemActivity"/>
<activity android:name=".ExpandableUseActivity"/>
<activity android:name=".DataBindingUseActivity"/>
<activity android:name=".ItemClickActivity">
</activity>
</application>

</manifest>
</manifest>
Original file line number Diff line number Diff line change
Expand Up @@ -18,9 +18,9 @@
* https://github.com/CymChad/BaseRecyclerViewAdapterHelper
*/
public class HomeActivity extends Activity {
private static final Class<?>[] ACTIVITY = {AnimationUseActivity.class, MultipleItemUseActivity.class, HeaderAndFooterUseActivity.class, PullToRefreshUseActivity.class, SectionUseActivity.class, EmptyViewUseActivity.class, ItemDragAndSwipeUseActivity.class,RecyclerClickItemActivity.class, ExpandableUseActivity.class, DataBindingUseActivity.class};
private static final String[] TITLE = {"Animation Use", "MultipleItem Use", "HeaderAndFooter Use", "PullToRefresh Use", "Section Use", "EmptyView Use", "ItemDragAndSwipe Use","RecyclerClickItemActivity", "ExpandableItem Activity", "DataBinding Use"};
private static final String[] COLOR_STR = {"#0dddb8","#0bd4c3","#03cdcd","#00b1c5","#04b2d1","#04b2d1","#04b2d1","#04b2d1", "#04b2d1", "#04b2d1"};
private static final Class<?>[] ACTIVITY = {AnimationUseActivity.class, MultipleItemUseActivity.class, HeaderAndFooterUseActivity.class, PullToRefreshUseActivity.class, SectionUseActivity.class, EmptyViewUseActivity.class, ItemDragAndSwipeUseActivity.class,RecyclerClickItemActivity.class, ItemClickActivity.class,ExpandableUseActivity.class, DataBindingUseActivity.class};
private static final String[] TITLE = {"Animation Use", "MultipleItem Use", "HeaderAndFooter Use", "PullToRefresh Use", "Section Use", "EmptyView Use", "ItemDragAndSwipe Use","RecyclerClickItemActivity", "ItemClickActivity","ExpandableItem Activity", "DataBinding Use"};
private static final String[] COLOR_STR = {"#0dddb8","#0bd4c3","#03cdcd","#00b1c5","#04b2d1","#04b2d1","#04b2d1","#04b2d1", "#04b2d1","#04b2d1", "#04b2d1"};
private ArrayList<HomeItem> mDataList;
private RecyclerView mRecyclerView;

Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,59 @@
package com.chad.baserecyclerviewadapterhelper;

import android.app.Activity;
import android.os.Bundle;
import android.support.v7.widget.LinearLayoutManager;
import android.support.v7.widget.RecyclerView;
import android.util.Log;
import android.view.MotionEvent;
import android.view.View;

import com.chad.baserecyclerviewadapterhelper.adapter.ItemClickAdapter;
import com.chad.baserecyclerviewadapterhelper.entity.ClickEntity;
import com.chad.library.adapter.base.BaseQuickAdapter;
import com.chad.library.adapter.base.listener.OnItemClickListener;

import java.util.ArrayList;
import java.util.List;

public class ItemClickActivity extends Activity {

private RecyclerView mRecyclerView;
private ItemClickAdapter itemClickAdapter;
private static final int PAGE_SIZE = 10;
private static String TAG = "RecyclerClickItemActivity";
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_item_click);
mRecyclerView = (RecyclerView) findViewById(R.id.list);
mRecyclerView.setLayoutManager(new LinearLayoutManager(this));
initAdapter();
mRecyclerView.addOnItemTouchListener(new OnItemClickListener() {
@Override
public void SimpleOnItemClick(final BaseQuickAdapter adapter, final View view, final int position) {
Log.d(TAG, "SimpleOnItemClick: ");
}
});


}

private void initAdapter() {
List<ClickEntity> data = new ArrayList<>();
data.add(new ClickEntity(ClickEntity.CLICK_ITEM_VIEW));
data.add(new ClickEntity(ClickEntity.CLICK_ITEM_CHILD_VIEW));
data.add(new ClickEntity(ClickEntity.LONG_CLICK_ITEM_VIEW));
data.add(new ClickEntity(ClickEntity.LONG_CLICK_ITEM_CHILD_VIEW));
itemClickAdapter = new ItemClickAdapter(data);
itemClickAdapter.openLoadAnimation();
mRecyclerView.setAdapter(itemClickAdapter);
}


@Override
public boolean dispatchTouchEvent(MotionEvent ev) {
return super.dispatchTouchEvent(ev);
}

}
Original file line number Diff line number Diff line change
@@ -0,0 +1,44 @@
package com.chad.baserecyclerviewadapterhelper.adapter;

import com.chad.baserecyclerviewadapterhelper.R;
import com.chad.baserecyclerviewadapterhelper.entity.ClickEntity;
import com.chad.library.adapter.base.BaseMultiItemQuickAdapter;
import com.chad.library.adapter.base.BaseViewHolder;

import java.util.List;

/**
*
*/
public class ItemClickAdapter extends BaseMultiItemQuickAdapter<ClickEntity, BaseViewHolder> {

public ItemClickAdapter(List<ClickEntity> data) {
super(data);
addItemType(ClickEntity.CLICK_ITEM_VIEW, R.layout.item_click_view);
addItemType(ClickEntity.CLICK_ITEM_CHILD_VIEW, R.layout.item_click_childview);
addItemType(ClickEntity.LONG_CLICK_ITEM_VIEW, R.layout.item_long_click_view);
addItemType(ClickEntity.LONG_CLICK_ITEM_CHILD_VIEW, R.layout.item_long_click_childview);
}


@Override
protected void convert(final BaseViewHolder helper, final ClickEntity item) {
switch (helper.getItemViewType()) {
case ClickEntity.CLICK_ITEM_VIEW:
helper.addOnClickListener(R.id.btn);
break;
case ClickEntity.CLICK_ITEM_CHILD_VIEW:
helper.addOnClickListener(R.id.iv_num_reduce).addOnClickListener(R.id.iv_num_add)
.addOnLongClickListener(R.id.iv_num_reduce).addOnLongClickListener(R.id.iv_num_add);
// set img data
break;
case ClickEntity.LONG_CLICK_ITEM_VIEW:
helper.addOnLongClickListener(R.id.btn);
break;
case ClickEntity.LONG_CLICK_ITEM_CHILD_VIEW:
helper.addOnLongClickListener(R.id.iv_num_reduce).addOnLongClickListener(R.id.iv_num_add)
.addOnClickListener(R.id.iv_num_reduce).addOnClickListener(R.id.iv_num_add);
break;
}
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -96,5 +96,18 @@ public static List<MultipleItem> getMultipleItemData() {
return list;
}

// public static List<MultipleItem> getMultipleChildView() {
// List<MultipleItem> list = new ArrayList<>();
// for (int i = 0; i <= 4; i++) {
// list.add(new ClickEntity(ClickEntity.CLICK_ITEM_VIEW, MultipleItem.TEXT_SPAN_SIZE, CYM_CHAD));
// list.add(new MultipleItem(MultipleItem.IMG, MultipleItem.BIG_IMG_SPAN_SIZE));
// list.add(new MultipleItem(MultipleItem.IMG, MultipleItem.IMG_SPAN_SIZE));
// list.add(new MultipleItem(MultipleItem.IMG, MultipleItem.IMG_SPAN_SIZE));
// list.add(new MultipleItem(MultipleItem.IMG, MultipleItem.IMG_SPAN_SIZE));
// }
//
// return list;
// }


}
Original file line number Diff line number Diff line change
@@ -0,0 +1,42 @@
/*
******************************* Copyright (c)*********************************\
**
** (c) Copyright 2015, Allen, china, shanghai
** All Rights Reserved
**
**
**
**-----------------------------------版本信息------------------------------------
** 版 本: V0.1
**
**------------------------------------------------------------------------------
********************************End of Head************************************\
*/
package com.chad.baserecyclerviewadapterhelper.entity;

import com.chad.library.adapter.base.entity.MultiItemEntity;

/**
* 文 件 名: ClickEntity
* 创 建 人: Allen
* 创建日期: 16/11/1 22:16
* 邮 箱: [email protected]
* 修改时间:
* 修改备注:
*/
public class ClickEntity implements MultiItemEntity {
public static final int CLICK_ITEM_VIEW = 1;
public static final int CLICK_ITEM_CHILD_VIEW = 2;
public static final int LONG_CLICK_ITEM_VIEW = 3;
public static final int LONG_CLICK_ITEM_CHILD_VIEW = 4;
public int Type;

public ClickEntity(final int type) {
Type = type;
}

@Override
public int getItemType() {
return Type;
}
}
9 changes: 9 additions & 0 deletions app/src/main/res/drawable/selector_btn_add.xml
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">

<item android:drawable="@mipmap/icon_add_press" android:state_pressed="true" />
<item android:drawable="@mipmap/icon_add" android:state_pressed="false" />
<item android:drawable="@mipmap/icon_add" />


</selector>
6 changes: 6 additions & 0 deletions app/src/main/res/drawable/selector_btn_reduce.xml
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:drawable="@mipmap/icon_minus_press" android:state_pressed="true" />
<item android:drawable="@mipmap/icon_minus" android:state_pressed="false"/>
<item android:drawable="@mipmap/icon_minus" />
</selector>
11 changes: 11 additions & 0 deletions app/src/main/res/drawable/selector_item.xml
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:drawable="@android:color/holo_red_light" android:state_pressed="true"/>
<item android:state_active="false">
<shape android:shape="rectangle">
<corners android:radius="4dp"/>
<solid android:color="@color/item_bg"/>
<stroke android:color="@color/color_light_blue" android:width="1dp"/>
</shape>
</item>
</selector>
12 changes: 12 additions & 0 deletions app/src/main/res/drawable/selector_item_child.xml
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:drawable="@android:color/holo_orange_light" android:state_pressed="true" />
<item android:drawable="@android:color/holo_red_light" android:state_pressed="true"/>
<item android:state_active="false">
<shape android:shape="rectangle">
<corners android:radius="4dp"/>
<solid android:color="@color/item_bg"/>
<stroke android:color="@color/color_light_blue" android:width="1dp"/>
</shape>
</item>
</selector>
13 changes: 13 additions & 0 deletions app/src/main/res/layout/activity_item_click.xml
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout
android:id="@+id/activity_item_click"
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context="com.chad.baserecyclerviewadapterhelper.ItemClickActivity">
<android.support.v7.widget.RecyclerView
android:layout_width="match_parent"
android:layout_height="match_parent"
android:id="@+id/list"/>
</RelativeLayout>
58 changes: 58 additions & 0 deletions app/src/main/res/layout/item_click_childview.xml
Original file line number Diff line number Diff line change
@@ -0,0 +1,58 @@
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout android:id="@+id/layout_root"
xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginLeft="5dp"
android:layout_marginRight="5dp"
android:layout_marginTop="5dp"
android:layout_marginBottom="5dp"
android:background="@drawable/selector_item"
>

<ImageView
android:id="@+id/iv_photo"
android:layout_width="70dp"
android:layout_height="90dp"
android:layout_alignParentLeft="true"
android:layout_alignParentStart="true"
android:layout_alignParentTop="true"
android:scaleType="fitXY"
android:src="@mipmap/logo"/>


<LinearLayout
android:id="@+id/layout_num"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignBottom="@id/iv_photo"
android:layout_alignParentRight="true"
android:layout_marginBottom="10dp"
android:layout_marginRight="16dp"
android:gravity="center_vertical"
android:orientation="horizontal">


<ImageView
android:id="@+id/iv_num_reduce"
android:layout_width="22dp"
android:layout_height="22dp"
android:background="@drawable/selector_item_child"/>

<TextView
android:id="@+id/tv_num"
android:layout_width="35dp"
android:layout_height="wrap_content"
android:gravity="center"
android:text="0"/>

<ImageView
android:id="@+id/iv_num_add"
android:layout_width="22dp"
android:layout_height="22dp"
android:background="@drawable/selector_item_child"/>

</LinearLayout>


</RelativeLayout>
23 changes: 23 additions & 0 deletions app/src/main/res/layout/item_click_view.xml
Original file line number Diff line number Diff line change
@@ -0,0 +1,23 @@
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/card_view"
android:layout_width="match_parent"
android:layout_height="80dip"
android:layout_marginLeft="5dp"
android:layout_marginRight="5dp"
android:layout_gravity="center"
android:gravity="center"
android:background="@drawable/touch_bg"
>

<Button
android:id="@+id/btn"
android:layout_width="160dp"
android:layout_height="50dp"
android:gravity="center"
android:textColor="@color/txt_color"
android:background="@drawable/touch_bg"
android:text="点击我"/>

</LinearLayout>
Loading

0 comments on commit a7afefa

Please sign in to comment.