diff options
author | Christian Schneppe <christian@pix-art.de> | 2018-04-30 00:02:58 +0200 |
---|---|---|
committer | Christian Schneppe <christian@pix-art.de> | 2018-04-30 00:02:58 +0200 |
commit | 032fbad95ce7384de922d7c3c9ac53303ab11732 (patch) | |
tree | a25d39f4c7103c86b239f9ae9cf0963b6176c307 | |
parent | c49894c6667f1853337a3a5fc95ad84047c694c4 (diff) |
add more styling to search activity
19 files changed, 146 insertions, 4 deletions
diff --git a/src/main/java/de/pixart/messenger/ui/SearchActivity.java b/src/main/java/de/pixart/messenger/ui/SearchActivity.java index 152544c7e..e65b2dd6c 100644 --- a/src/main/java/de/pixart/messenger/ui/SearchActivity.java +++ b/src/main/java/de/pixart/messenger/ui/SearchActivity.java @@ -47,6 +47,8 @@ import de.pixart.messenger.R; import de.pixart.messenger.databinding.ActivitySearchBinding; import de.pixart.messenger.entities.Message; import de.pixart.messenger.ui.adapter.MessageAdapter; +import de.pixart.messenger.ui.util.Color; +import de.pixart.messenger.ui.util.Drawable; import static de.pixart.messenger.ui.util.SoftKeyboardUtils.hideSoftKeyboard; import static de.pixart.messenger.ui.util.SoftKeyboardUtils.showKeyboard; @@ -96,6 +98,18 @@ public class SearchActivity extends XmppActivity implements TextWatcher { } + private void changeBackground(boolean hasSearch, boolean hasResults) { + if (hasSearch) { + if (hasResults) { + binding.searchResults.setBackgroundColor(Color.get(this, R.attr.color_background_secondary)); + } else { + binding.searchResults.setBackground(Drawable.get(this, R.attr.activity_background_no_results)); + } + } else { + binding.searchResults.setBackground(Drawable.get(this, R.attr.activity_background_search)); + } + } + @Override public void beforeTextChanged(CharSequence s, int start, int count, int after) { diff --git a/src/main/java/de/pixart/messenger/ui/util/Drawable.java b/src/main/java/de/pixart/messenger/ui/util/Drawable.java new file mode 100644 index 000000000..5e0c770d4 --- /dev/null +++ b/src/main/java/de/pixart/messenger/ui/util/Drawable.java @@ -0,0 +1,43 @@ +/* + * Copyright (c) 2018, Daniel Gultsch All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * 1. Redistributions of source code must retain the above copyright notice, this + * list of conditions and the following disclaimer. + * + * 2. Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation and/or + * other materials provided with the distribution. + * + * 3. Neither the name of the copyright holder nor the names of its contributors + * may be used to endorse or promote products derived from this software without + * specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND + * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED + * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE + * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR + * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES + * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON + * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT + * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS + * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ + +package de.pixart.messenger.ui.util; + +import android.content.Context; +import android.content.res.TypedArray; +import android.support.annotation.AttrRes; + +public class Drawable { + public static android.graphics.drawable.Drawable get(Context context, @AttrRes int id) { + TypedArray typedArray = context.obtainStyledAttributes(new int[]{id}); + android.graphics.drawable.Drawable drawable = typedArray.getDrawable(0); + typedArray.recycle(); + return drawable; + } +}
\ No newline at end of file diff --git a/src/main/res/drawable-hdpi/ic_no_results_background_black.png b/src/main/res/drawable-hdpi/ic_no_results_background_black.png Binary files differnew file mode 100644 index 000000000..02b4fc613 --- /dev/null +++ b/src/main/res/drawable-hdpi/ic_no_results_background_black.png diff --git a/src/main/res/drawable-hdpi/ic_no_results_background_white.png b/src/main/res/drawable-hdpi/ic_no_results_background_white.png Binary files differnew file mode 100644 index 000000000..41fe6f686 --- /dev/null +++ b/src/main/res/drawable-hdpi/ic_no_results_background_white.png diff --git a/src/main/res/drawable-mdpi/ic_no_results_background_black.png b/src/main/res/drawable-mdpi/ic_no_results_background_black.png Binary files differnew file mode 100644 index 000000000..52da4021c --- /dev/null +++ b/src/main/res/drawable-mdpi/ic_no_results_background_black.png diff --git a/src/main/res/drawable-mdpi/ic_no_results_background_white.png b/src/main/res/drawable-mdpi/ic_no_results_background_white.png Binary files differnew file mode 100644 index 000000000..4c1b5e3a7 --- /dev/null +++ b/src/main/res/drawable-mdpi/ic_no_results_background_white.png diff --git a/src/main/res/drawable-xhdpi/ic_no_results_background_black.png b/src/main/res/drawable-xhdpi/ic_no_results_background_black.png Binary files differnew file mode 100644 index 000000000..c3c91365c --- /dev/null +++ b/src/main/res/drawable-xhdpi/ic_no_results_background_black.png diff --git a/src/main/res/drawable-xhdpi/ic_no_results_background_white.png b/src/main/res/drawable-xhdpi/ic_no_results_background_white.png Binary files differnew file mode 100644 index 000000000..712650688 --- /dev/null +++ b/src/main/res/drawable-xhdpi/ic_no_results_background_white.png diff --git a/src/main/res/drawable-xxhdpi/ic_no_results_background_black.png b/src/main/res/drawable-xxhdpi/ic_no_results_background_black.png Binary files differnew file mode 100644 index 000000000..e39bc3c8c --- /dev/null +++ b/src/main/res/drawable-xxhdpi/ic_no_results_background_black.png diff --git a/src/main/res/drawable-xxhdpi/ic_no_results_background_white.png b/src/main/res/drawable-xxhdpi/ic_no_results_background_white.png Binary files differnew file mode 100644 index 000000000..9a1b346dd --- /dev/null +++ b/src/main/res/drawable-xxhdpi/ic_no_results_background_white.png diff --git a/src/main/res/drawable-xxxhdpi/ic_no_results_background_black.png b/src/main/res/drawable-xxxhdpi/ic_no_results_background_black.png Binary files differnew file mode 100644 index 000000000..788bf99d1 --- /dev/null +++ b/src/main/res/drawable-xxxhdpi/ic_no_results_background_black.png diff --git a/src/main/res/drawable-xxxhdpi/ic_no_results_background_white.png b/src/main/res/drawable-xxxhdpi/ic_no_results_background_white.png Binary files differnew file mode 100644 index 000000000..542be1675 --- /dev/null +++ b/src/main/res/drawable-xxxhdpi/ic_no_results_background_white.png diff --git a/src/main/res/drawable/no_results_background_dark.xml b/src/main/res/drawable/no_results_background_dark.xml new file mode 100644 index 000000000..ab0d6b44b --- /dev/null +++ b/src/main/res/drawable/no_results_background_dark.xml @@ -0,0 +1,40 @@ +<?xml version="1.0" encoding="utf-8"?><!-- + ~ Copyright (c) 2018, Daniel Gultsch All rights reserved. + ~ + ~ Redistribution and use in source and binary forms, with or without modification, + ~ are permitted provided that the following conditions are met: + ~ + ~ 1. Redistributions of source code must retain the above copyright notice, this + ~ list of conditions and the following disclaimer. + ~ + ~ 2. Redistributions in binary form must reproduce the above copyright notice, + ~ this list of conditions and the following disclaimer in the documentation and/or + ~ other materials provided with the distribution. + ~ + ~ 3. Neither the name of the copyright holder nor the names of its contributors + ~ may be used to endorse or promote products derived from this software without + ~ specific prior written permission. + ~ + ~ THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND + ~ ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED + ~ WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE + ~ DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR + ~ ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES + ~ (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + ~ LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON + ~ ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT + ~ (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS + ~ SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + --> + +<layer-list xmlns:android="http://schemas.android.com/apk/res/android"> + + <item android:drawable="@color/grey900" /> + + <item> + <bitmap + android:alpha="@dimen/background_image_opacity" + android:gravity="center" + android:src="@drawable/ic_no_results_background_white" /> + </item> +</layer-list>
\ No newline at end of file diff --git a/src/main/res/drawable/no_results_background_light.xml b/src/main/res/drawable/no_results_background_light.xml new file mode 100644 index 000000000..6821f820f --- /dev/null +++ b/src/main/res/drawable/no_results_background_light.xml @@ -0,0 +1,40 @@ +<?xml version="1.0" encoding="utf-8"?><!-- + ~ Copyright (c) 2018, Daniel Gultsch All rights reserved. + ~ + ~ Redistribution and use in source and binary forms, with or without modification, + ~ are permitted provided that the following conditions are met: + ~ + ~ 1. Redistributions of source code must retain the above copyright notice, this + ~ list of conditions and the following disclaimer. + ~ + ~ 2. Redistributions in binary form must reproduce the above copyright notice, + ~ this list of conditions and the following disclaimer in the documentation and/or + ~ other materials provided with the distribution. + ~ + ~ 3. Neither the name of the copyright holder nor the names of its contributors + ~ may be used to endorse or promote products derived from this software without + ~ specific prior written permission. + ~ + ~ THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND + ~ ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED + ~ WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE + ~ DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR + ~ ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES + ~ (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + ~ LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON + ~ ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT + ~ (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS + ~ SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + --> + +<layer-list xmlns:android="http://schemas.android.com/apk/res/android"> + + <item android:drawable="@color/grey200" /> + + <item> + <bitmap + android:alpha="@dimen/background_image_opacity" + android:gravity="center" + android:src="@drawable/ic_no_results_background_black" /> + </item> +</layer-list>
\ No newline at end of file diff --git a/src/main/res/drawable/search_background_dark.xml b/src/main/res/drawable/search_background_dark.xml index cb42396b4..4a63f54e6 100644 --- a/src/main/res/drawable/search_background_dark.xml +++ b/src/main/res/drawable/search_background_dark.xml @@ -29,11 +29,11 @@ <layer-list xmlns:android="http://schemas.android.com/apk/res/android"> - <item android:drawable="@color/grey800" /> + <item android:drawable="@color/grey900" /> <item> <bitmap - android:alpha="0.12" + android:alpha="@dimen/background_image_opacity" android:gravity="center" android:src="@drawable/ic_search_background_white" /> </item> diff --git a/src/main/res/drawable/search_background_light.xml b/src/main/res/drawable/search_background_light.xml index aecd39e9a..5fee94090 100644 --- a/src/main/res/drawable/search_background_light.xml +++ b/src/main/res/drawable/search_background_light.xml @@ -29,11 +29,11 @@ <layer-list xmlns:android="http://schemas.android.com/apk/res/android"> - <item android:drawable="@color/grey50" /> + <item android:drawable="@color/grey200" /> <item> <bitmap - android:alpha="0.12" + android:alpha="@dimen/background_image_opacity" android:gravity="center" android:src="@drawable/ic_search_background_black" /> </item> diff --git a/src/main/res/values/attrs.xml b/src/main/res/values/attrs.xml index 655f80230..919e14b8f 100644 --- a/src/main/res/values/attrs.xml +++ b/src/main/res/values/attrs.xml @@ -23,6 +23,7 @@ <attr name="EmojiColor" format="reference|color" /> <attr name="activity_background_search" format="reference" /> + <attr name="activity_background_no_results" format="reference" /> <attr name="ic_send_cancel_offline" format="reference" /> <attr name="ic_send_location_offline" format="reference" /> diff --git a/src/main/res/values/dimens.xml b/src/main/res/values/dimens.xml index eeb6b435c..92418a3e9 100644 --- a/src/main/res/values/dimens.xml +++ b/src/main/res/values/dimens.xml @@ -18,4 +18,6 @@ <!-- scanner --> <dimen name="scan_laser_width">4dp</dimen> <dimen name="scan_dot_size">8dp</dimen> + + <dimen name="background_image_opacity">0.12</dimen> </resources> diff --git a/src/main/res/values/themes.xml b/src/main/res/values/themes.xml index fec28b976..69603f4c6 100644 --- a/src/main/res/values/themes.xml +++ b/src/main/res/values/themes.xml @@ -15,6 +15,7 @@ <item name="color_warning">@color/red_a700</item> <item name="activity_background_search">@drawable/search_background_light</item> + <item name="activity_background_no_results">@drawable/no_results_background_light</item> <item name="EmojiColor">@color/realblack</item> @@ -133,6 +134,7 @@ <item name="color_warning">@color/red_a700</item> <item name="activity_background_search">@drawable/search_background_dark</item> + <item name="activity_background_no_results">@drawable/no_results_background_dark</item> <item name="EmojiColor">@color/realwhite</item> |