diff --git a/Habitica/res/layout/daily_item_card.xml b/Habitica/res/layout/daily_item_card.xml index 740e592b3..7c2b04be6 100644 --- a/Habitica/res/layout/daily_item_card.xml +++ b/Habitica/res/layout/daily_item_card.xml @@ -26,6 +26,7 @@ android:layout_height="match_parent" android:orientation="horizontal"> diff --git a/Habitica/res/layout/todo_item_card.xml b/Habitica/res/layout/todo_item_card.xml index 86697f3bd..75f55d111 100644 --- a/Habitica/res/layout/todo_item_card.xml +++ b/Habitica/res/layout/todo_item_card.xml @@ -24,6 +24,7 @@ android:layout_height="match_parent" android:orientation="horizontal"> diff --git a/Habitica/src/com/habitrpg/android/habitica/ui/adapter/HabitItemRecyclerViewAdapter.java b/Habitica/src/com/habitrpg/android/habitica/ui/adapter/HabitItemRecyclerViewAdapter.java index 970dadd66..070bbac29 100644 --- a/Habitica/src/com/habitrpg/android/habitica/ui/adapter/HabitItemRecyclerViewAdapter.java +++ b/Habitica/src/com/habitrpg/android/habitica/ui/adapter/HabitItemRecyclerViewAdapter.java @@ -4,10 +4,12 @@ import android.app.Activity; import android.content.Context; import android.databinding.DataBindingUtil; import android.databinding.ObservableArrayList; +import android.graphics.Rect; import android.support.annotation.NonNull; import android.support.v7.widget.RecyclerView; import android.view.Gravity; import android.view.LayoutInflater; +import android.view.TouchDelegate; import android.view.View; import android.view.ViewGroup; import android.widget.Button; @@ -362,6 +364,8 @@ public class HabitItemRecyclerViewAdapter super(itemView); checklistIndicatorWrapper.setOnClickListener(this); checkbox.setOnCheckedChangeListener(this); + expandCheckboxTouchArea(checkboxHolder, checkbox); + } @Override @@ -446,6 +450,17 @@ public class HabitItemRecyclerViewAdapter } } } + + public void expandCheckboxTouchArea(final View expandedView, final View checkboxView){ + expandedView.post(new Runnable() { + @Override + public void run() { + Rect rect = new Rect(); + expandedView.getHitRect(rect); + expandedView.setTouchDelegate(new TouchDelegate(rect, checkboxView)); + } + }); + } } public class DailyViewHolder extends ChecklistedViewHolder {