Add a search button in ViewSubredditDetailActivity and ViewUserDetailActivity. Search posts in a specific subreddit is available. Rename SearchActivity to SearchResultActivity. Add SearchActivity for searching instead of searching in MainActivity.

This commit is contained in:
Alex Ning
2019-07-18 23:59:14 +08:00
parent 611d6a90ec
commit 216228cf02
30 changed files with 667 additions and 348 deletions

View File

@@ -26,18 +26,18 @@
android:paddingEnd="16dp">
<pl.droidsonroids.gif.GifImageView
android:id="@+id/subreddit_icon_gif_image_view_post_text_activity"
android:id="@+id/subreddit_icon_gif_image_view_search_activity"
android:layout_width="24dp"
android:layout_height="24dp"
android:layout_alignParentStart="true"
android:layout_centerVertical="true" />
<TextView
android:id="@+id/subreddit_name_text_view_post_text_activity"
android:id="@+id/subreddit_name_text_view_search_activity"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_toStartOf="@id/rules_button_post_text_activity"
android:layout_toEndOf="@id/subreddit_icon_gif_image_view_post_text_activity"
android:layout_toEndOf="@id/subreddit_icon_gif_image_view_search_activity"
android:layout_centerVertical="true"
android:layout_marginStart="32dp"
android:layout_marginEnd="16dp"

View File

@@ -3,70 +3,87 @@
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent">
android:layout_height="match_parent"
tools:context=".SearchActivity">
<com.google.android.material.appbar.AppBarLayout
android:id="@+id/appbar_search_activity"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:theme="@style/AppTheme.AppBarOverlay">
<FrameLayout
<com.google.android.material.appbar.CollapsingToolbarLayout
android:id="@+id/collapsing_toolbar_layout_search_activity"
android:layout_width="match_parent"
android:layout_height="wrap_content">
android:layout_height="match_parent"
app:titleEnabled="false"
app:toolbarId="@+id/toolbar">
<androidx.appcompat.widget.Toolbar
android:id="@+id/toolbar_search_activity"
<FrameLayout
android:id="@+id/toolbar_frame_layout_search_activity"
android:layout_width="match_parent"
android:layout_height="?attr/actionBarSize"
android:background="?attr/colorPrimary"
app:popupTheme="@style/AppTheme.PopupOverlay" />
android:layout_height="wrap_content">
<com.ferfalk.simplesearchview.SimpleSearchView
android:id="@+id/search_view_search_activity"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:textColor="@android:color/white"
app:voiceSearch="true"
app:searchBackground="@color/colorPrimary"
app:cursorColor="@android:color/white"
app:hintColor="#E0E0E0"
app:iconsTint="@android:color/white"
app:backIconTint="@android:color/white"
app:iconsAlpha="1"
app:backIconAlpha="1" />
<androidx.appcompat.widget.Toolbar
android:id="@+id/toolbar"
android:layout_width="match_parent"
android:layout_height="?attr/actionBarSize"
app:navigationIcon="?attr/homeAsUpIndicator"
app:popupTheme="@style/AppTheme.PopupOverlay" />
</FrameLayout>
<com.ferfalk.simplesearchview.SimpleSearchView
android:id="@+id/search_view_search_activity"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:textColor="@android:color/white"
app:backIconAlpha="1"
app:backIconTint="@android:color/white"
app:cursorColor="@android:color/white"
app:hintColor="#E0E0E0"
app:iconsAlpha="1"
app:iconsTint="@android:color/white"
app:searchBackground="@color/colorPrimary"
app:voiceSearch="true" />
<com.google.android.material.tabs.TabLayout
android:id="@+id/tab_layout_search_activity"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="@color/colorPrimary"
app:tabGravity="fill"
app:tabMode="fixed"
app:tabIndicatorColor="@android:color/white"
app:tabIndicatorHeight="3dp"
app:tabSelectedTextColor="@android:color/white"
app:tabTextColor="@android:color/white"
app:tabRippleColor="?attr/colorControlHighlight"
app:tabUnboundedRipple="false"/>
</FrameLayout>
</com.google.android.material.appbar.CollapsingToolbarLayout>
</com.google.android.material.appbar.AppBarLayout>
<View
android:id="@+id/transparent_overlay_search_activity"
<androidx.core.widget.NestedScrollView
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="#40000000"
android:elevation="1dp"
android:visibility="gone"/>
app:layout_behavior="@string/appbar_scrolling_view_behavior">
<androidx.viewpager.widget.ViewPager
android:id="@+id/view_pager_search_activity"
android:layout_width="match_parent"
android:layout_height="match_parent"
app:layout_behavior="@string/appbar_scrolling_view_behavior"
tools:context=".SearchActivity" />
<RelativeLayout
android:id="@+id/subreddit_name_relative_layout_search_activity"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:padding="16dp"
android:clickable="true"
android:focusable="true"
android:background="?attr/selectableItemBackground">
<TextView
android:id="@+id/search_in_text_view_search_activity"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/search_in"
android:textColor="@color/colorAccent" />
<TextView
android:id="@+id/subreddit_name_text_view_search_activity"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_centerVertical="true"
android:layout_marginStart="32dp"
android:layout_marginEnd="16dp"
android:layout_toEndOf="@id/search_in_text_view_search_activity"
android:text="@string/all_subreddits"
android:textColor="@color/primaryTextColor" />
</RelativeLayout>
</androidx.core.widget.NestedScrollView>
</androidx.coordinatorlayout.widget.CoordinatorLayout>

View File

@@ -0,0 +1,72 @@
<?xml version="1.0" encoding="utf-8"?>
<androidx.coordinatorlayout.widget.CoordinatorLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent">
<com.google.android.material.appbar.AppBarLayout
android:id="@+id/appbar_search_result_activity"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:theme="@style/AppTheme.AppBarOverlay">
<FrameLayout
android:layout_width="match_parent"
android:layout_height="wrap_content">
<androidx.appcompat.widget.Toolbar
android:id="@+id/toolbar_search_result_activity"
android:layout_width="match_parent"
android:layout_height="?attr/actionBarSize"
android:background="?attr/colorPrimary"
app:popupTheme="@style/AppTheme.PopupOverlay" />
<com.ferfalk.simplesearchview.SimpleSearchView
android:id="@+id/search_view_search_result_activity"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:textColor="@android:color/white"
app:voiceSearch="true"
app:searchBackground="@color/colorPrimary"
app:cursorColor="@android:color/white"
app:hintColor="#E0E0E0"
app:iconsTint="@android:color/white"
app:backIconTint="@android:color/white"
app:iconsAlpha="1"
app:backIconAlpha="1" />
</FrameLayout>
<com.google.android.material.tabs.TabLayout
android:id="@+id/tab_layout_search_result_activity"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="@color/colorPrimary"
app:tabGravity="fill"
app:tabMode="fixed"
app:tabIndicatorColor="@android:color/white"
app:tabIndicatorHeight="3dp"
app:tabSelectedTextColor="@android:color/white"
app:tabTextColor="@android:color/white"
app:tabRippleColor="?attr/colorControlHighlight"
app:tabUnboundedRipple="false"/>
</com.google.android.material.appbar.AppBarLayout>
<View
android:id="@+id/transparent_overlay_search_result_activity"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="#40000000"
android:elevation="1dp"
android:visibility="gone"/>
<androidx.viewpager.widget.ViewPager
android:id="@+id/view_pager_search_result_activity"
android:layout_width="match_parent"
android:layout_height="match_parent"
app:layout_behavior="@string/appbar_scrolling_view_behavior"
tools:context=".SearchResultActivity" />
</androidx.coordinatorlayout.widget.CoordinatorLayout>

View File

@@ -1,10 +1,11 @@
<menu xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
tools:context="ml.docilealligator.infinityforreddit.SearchActivity">
tools:context="ml.docilealligator.infinityforreddit.SearchResultActivity">
<item
android:id="@+id/action_search_search_activity"
android:orderInCategory="1"
android:title="@string/action_search"
app:showAsAction="always" />
android:icon="@drawable/ic_search_white_24dp"
app:showAsAction="ifRoom" />
</menu>

View File

@@ -0,0 +1,12 @@
<?xml version="1.0" encoding="utf-8"?>
<menu xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
tools:context="ml.docilealligator.infinityforreddit.SearchResultActivity">
<item
android:id="@+id/action_search_search_activity"
android:orderInCategory="1"
android:title="@string/action_search"
android:icon="@drawable/ic_search_white_24dp"
app:showAsAction="ifRoom" />
</menu>

View File

@@ -0,0 +1,16 @@
<?xml version="1.0" encoding="utf-8"?>
<menu xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto">
<item
android:id="@+id/action_search_search_result_activity"
android:orderInCategory="1"
android:title="@string/action_search"
android:icon="@drawable/ic_search_white_24dp"
app:showAsAction="ifRoom" />
<item
android:id="@+id/action_refresh_search_result_activity"
android:orderInCategory="2"
android:title="@string/action_refresh"
app:showAsAction="never" />
</menu>

View File

@@ -4,15 +4,21 @@
xmlns:tools="http://schemas.android.com/tools"
tools:context="ml.docilealligator.infinityforreddit.ViewSubredditDetailActivity">
<item
android:id="@+id/action_refresh_view_subreddit_detail_activity"
android:id="@+id/action_search_view_subreddit_detail_activity"
android:orderInCategory="1"
android:title="@string/action_search"
android:icon="@drawable/ic_search_white_24dp"
app:showAsAction="ifRoom" />
<item
android:id="@+id/action_refresh_view_subreddit_detail_activity"
android:orderInCategory="2"
android:title="@string/action_refresh"
android:icon="@drawable/ic_refresh_white_24dp"
app:showAsAction="never" />
<item
android:id="@+id/action_lazy_mode_view_subreddit_detail_activity"
android:orderInCategory="2"
android:orderInCategory="3"
android:title="@string/action_start_lazy_mode"
app:showAsAction="never" />
</menu>

View File

@@ -3,15 +3,21 @@
xmlns:tools="http://schemas.android.com/tools"
tools:context="ml.docilealligator.infinityforreddit.ViewUserDetailActivity">
<item
android:id="@+id/action_refresh_view_user_detail_activity"
android:id="@+id/action_search_view_user_detail_activity"
android:orderInCategory="1"
android:title="@string/action_search"
android:icon="@drawable/ic_search_white_24dp"
app:showAsAction="ifRoom" />
<item
android:id="@+id/action_refresh_view_user_detail_activity"
android:orderInCategory="2"
android:title="@string/action_refresh"
android:icon="@drawable/ic_refresh_white_24dp"
app:showAsAction="never" />
<item
android:id="@+id/action_lazy_mode_view_user_detail_activity"
android:orderInCategory="2"
android:orderInCategory="3"
android:title="@string/action_start_lazy_mode"
app:showAsAction="never" />
</menu>

View File

@@ -128,4 +128,7 @@
<string name="no_rule">No rule</string>
<string name="error_loading_rules">Error loading rules.\nTap to retry.</string>
<string name="search_in">Search in</string>
<string name="all_subreddits">All subreddits</string>
</resources>