From 9dd552b0d4024a213a40d283e8e5c6c47d4661b1 Mon Sep 17 00:00:00 2001 From: Fred Ross-Perry Date: Thu, 22 Sep 2016 13:58:35 -0700 Subject: Android example: tweak Apply button in proofing dialog. Enable Apply button in proofing only when color checkboxes are changed. --- .../com/artifex/mupdf/android/ProofActivity.java | 20 ++++++++++++++++++-- .../mupdf/src/main/res/drawable/apply_button.xml | 14 ++++++++++++++ .../src/main/res/layout/activity_proof_view.xml | 2 +- 3 files changed, 33 insertions(+), 3 deletions(-) create mode 100644 platform/android/example/mupdf/src/main/res/drawable/apply_button.xml (limited to 'platform/android') diff --git a/platform/android/example/mupdf/src/main/java/com/artifex/mupdf/android/ProofActivity.java b/platform/android/example/mupdf/src/main/java/com/artifex/mupdf/android/ProofActivity.java index 65b79c19..8b994537 100644 --- a/platform/android/example/mupdf/src/main/java/com/artifex/mupdf/android/ProofActivity.java +++ b/platform/android/example/mupdf/src/main/java/com/artifex/mupdf/android/ProofActivity.java @@ -90,6 +90,7 @@ public class ProofActivity extends Activity implements View.OnClickListener, Doc mApplyButton = (Button) findViewById(R.id.proof_apply_button); mApplyButton.setOnClickListener(this); + mApplyButton.setEnabled(false); // wait for layout to open the document final ProofActivity activity = this; @@ -179,6 +180,7 @@ public class ProofActivity extends Activity implements View.OnClickListener, Doc } else if (v == mApplyButton) { + mApplyButton.setEnabled(false); updateColors(); } } @@ -278,7 +280,12 @@ public class ProofActivity extends Activity implements View.OnClickListener, Doc // set up the list mColorList = (ListView)findViewById(R.id.proof_color_list); - mColorAdapter = new ChooseColorAdapter(getLayoutInflater()); + mColorAdapter = new ChooseColorAdapter(getLayoutInflater(), new ColorChangeListener() { + @Override + public void onColorChange() { + mApplyButton.setEnabled(true); + } + }); mColorList.setAdapter(mColorAdapter); // get each one @@ -377,14 +384,21 @@ public class ProofActivity extends Activity implements View.OnClickListener, Doc //--------------------------------------------------------------------------------------------------------- + public interface ColorChangeListener + { + void onColorChange(); + } + public class ChooseColorAdapter extends BaseAdapter { private final LinkedList mItems; private final LayoutInflater mInflater; + ColorChangeListener mColorChangeListener = null; - public ChooseColorAdapter(LayoutInflater inflater) + public ChooseColorAdapter(LayoutInflater inflater, ColorChangeListener listener) { mInflater = inflater; + mColorChangeListener = listener; mItems = new LinkedList<>(); } @@ -441,6 +455,8 @@ public class ProofActivity extends Activity implements View.OnClickListener, Doc public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) { item.checked = isChecked; + if (mColorChangeListener!=null) + mColorChangeListener.onColorChange(); } }); diff --git a/platform/android/example/mupdf/src/main/res/drawable/apply_button.xml b/platform/android/example/mupdf/src/main/res/drawable/apply_button.xml new file mode 100644 index 00000000..4f5c926c --- /dev/null +++ b/platform/android/example/mupdf/src/main/res/drawable/apply_button.xml @@ -0,0 +1,14 @@ + + + + + + + + + + + + + + diff --git a/platform/android/example/mupdf/src/main/res/layout/activity_proof_view.xml b/platform/android/example/mupdf/src/main/res/layout/activity_proof_view.xml index 726e783b..222a50b4 100755 --- a/platform/android/example/mupdf/src/main/res/layout/activity_proof_view.xml +++ b/platform/android/example/mupdf/src/main/res/layout/activity_proof_view.xml @@ -45,7 +45,7 @@ android:layout_height="wrap_content" android:id="@+id/proof_apply_button" android:layout_gravity="center_horizontal" - android:background="#535353" + android:background="@drawable/apply_button" android:textColor="@color/white" android:textSize="18sp" android:padding="10dp" -- cgit v1.2.3