View user details in ViewUserDetailActivity. Follow or unfollow user is not properly implemented right now. Change users and subscribed_users databases' schemes. Press Profile in navigation drawer to view my reddit info. Press the username in the post to view that account's info.

This commit is contained in:
Alex Ning
2019-01-11 11:33:32 +08:00
parent f0b149ce82
commit e48bb565a5
29 changed files with 704 additions and 120 deletions

View File

@@ -35,6 +35,7 @@
layout="@layout/nav_header_main" />
<LinearLayout
android:id="@+id/profile_linear_layout_main_activity"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:padding="16dp"

View File

@@ -4,33 +4,97 @@
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:fitsSystemWindows="true"
android:id="@+id/coordinator_layout_view_user_detail_activity"
tools:context=".ViewUserDetailActivity">
<android.support.design.widget.AppBarLayout
android:id="@+id/app_bar"
android:id="@+id/app_bar_layout_view_user_detail_activity"
android:layout_width="match_parent"
android:layout_height="@dimen/app_bar_height"
android:fitsSystemWindows="true"
android:layout_height="wrap_content"
android:theme="@style/AppTheme.AppBarOverlay">
<android.support.design.widget.CollapsingToolbarLayout
android:id="@+id/toolbar_layout"
android:id="@+id/collapsing_toolbar_layout_view_user_detail_activity"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:fitsSystemWindows="true"
app:contentScrim="?attr/colorPrimary"
app:layout_scrollFlags="scroll|exitUntilCollapsed"
app:layout_scrollFlags="scroll|enterAlways|enterAlwaysCollapsed"
app:toolbarId="@+id/toolbar">
<RelativeLayout
android:layout_width="match_parent"
android:layout_height="match_parent">
<ImageView
android:id="@+id/banner_image_view_view_user_detail_activity"
android:layout_width="match_parent"
android:scaleType="centerCrop"
android:layout_height="180dp"
android:contentDescription="@string/content_description_banner_imageview" />
<com.felipecsl.gifimageview.library.GifImageView
android:id="@+id/icon_gif_image_view_view_user_detail_activity"
android:layout_width="72dp"
android:layout_height="72dp"
android:layout_marginTop="-36dp"
app:civ_border_color="@android:color/white"
app:civ_border_width="1dp"
android:layout_below="@id/banner_image_view_view_user_detail_activity"
android:layout_centerHorizontal="true"
android:elevation="4dp"
app:civ_circle_background_color="@android:color/white"/>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical"
android:paddingTop="36dp"
android:paddingStart="16dp"
android:paddingEnd="16dp"
android:layout_below="@id/banner_image_view_view_user_detail_activity"
android:background="@android:color/white">
<TextView
android:id="@+id/user_name_text_view_view_user_detail_activity"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="16dp"
android:textSize="18sp"
android:textColor="@color/colorAccent"
android:layout_gravity="center_horizontal"/>
<TextView
android:id="@+id/karma_text_view_view_user_detail_activity"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="16dp"
android:textColor="@android:color/black"
android:layout_gravity="center_horizontal"/>
<android.support.design.chip.Chip
android:id="@+id/subscribe_user_chip_view_user_detail_activity"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="16dp"
android:layout_marginBottom="16dp"
android:textColor="@android:color/white"
android:layout_gravity="center_horizontal"/>
</LinearLayout>
</RelativeLayout>
<android.support.v7.widget.Toolbar
android:id="@+id/toolbar"
android:layout_width="match_parent"
android:layout_height="?attr/actionBarSize"
app:layout_collapseMode="pin"
app:popupTheme="@style/AppTheme.PopupOverlay" />
app:layout_scrollFlags="scroll|enterAlways|enterAlwaysCollapsed"
app:popupTheme="@style/AppTheme.PopupOverlay"
app:navigationIcon="?attr/homeAsUpIndicator"/>
</android.support.design.widget.CollapsingToolbarLayout>
</android.support.design.widget.AppBarLayout>
<include layout="@layout/content_view_user_detail" />

View File

@@ -26,6 +26,8 @@
<string name="subscriptions">Subscriptions</string>
<string name="subscribers_number_detail">Subscribers: %1$d</string>
<string name="online_subscribers_number_detail">Online: %1$d</string>
<string name="cannot_fetch_subreddit_info">Cannot fetch subreddit info</string>
<string name="cannot_fetch_user_info">Cannot fetch user info</string>
<string name="gilded">x%1$d</string>
<string name="title_activity_view_user_detail">ViewUserDetailActivity</string>
@@ -49,15 +51,15 @@
"and use of imagery guide visual treatments. These elements do far more than please the "
"eye. They create hierarchy, meaning, and focus. Deliberate color choices, edge to edge "
"imagery, large scale typography, and intentional white space create a bold and graphic "
"interface that immerse the user in the experience.\n"
"An emphasis on user actions makes core functionality immediately apparent and provides "
"waypoints for the user.\n\n"
"interface that immerse the userData in the experience.\n"
"An emphasis on userData actions makes core functionality immediately apparent and provides "
"waypoints for the userData.\n\n"
"Motion provides meaning.\n\n"
"Motion respects and reinforces the user as the prime mover. Primary user actions are "
"Motion respects and reinforces the userData as the prime mover. Primary userData actions are "
"inflection points that initiate motion, transforming the whole design.\n"
"All action takes place in a single environment. Objects are presented to the user without "
"All action takes place in a single environment. Objects are presented to the userData without "
"breaking the continuity of experience even as they transform and reorganize.\n"
"Motion is meaningful and appropriate, serving to focus attention and maintain continuity. "
"Feedback is subtle yet clear. Transitions are efficient yet coherent.\n\n"
@@ -96,7 +98,7 @@
"Responsive elevation and dynamic elevation offsets.\n\n"
"Some component types have responsive elevation, meaning they change elevation in response "
"to user input (e.g., normal, focused, and pressed) or system events. These elevation "
"to userData input (e.g., normal, focused, and pressed) or system events. These elevation "
"changes are consistently implemented using dynamic elevation offsets.\n"
"Dynamic elevation offsets are the goal elevation that a component moves towards, relative "
"to the components resting state. They ensure that elevation changes are consistent "
@@ -113,10 +115,10 @@
"whether on a per component basis or using the entire app layout.\n"
"On a component level, components can move or be removed before they cause interference. "
"For example, a floating action button (FAB) can disappear or move off screen before a "
"user picks up a card, or it can move if a snackbar appears.\n"
"userData picks up a card, or it can move if a snackbar appears.\n"
"On the layout level, design your app layout to minimize opportunities for interference. "
"For example, position the FAB to one side of stream of a cards so the FAB wont interfere "
"when a user tries to pick up one of cards.\n\n"
"when a userData tries to pick up one of cards.\n\n"
</string>
<string name="subscribe">Subscribe</string>
@@ -126,5 +128,12 @@
<string name="unsubscribed">Unsubscribed</string>"
<string name="unsubscribe_failed">Unsubscribe Failed</string>
<string name="follow">Follow</string>
<string name="unfollow">Unfollow</string>
<string name="followed">Followed</string>
<string name="follow_failed">Following Failed</string>
<string name="unfollowed">Unfollowed</string>
<string name="unfollow_failed">Unfollowing Failed</string>
<string name="content_description_banner_imageview">Subreddit Banner Image</string>
</resources>