Browse Source
Convert Post view to a regular fragment instead of dialog.
Convert Post view to a regular fragment instead of dialog.
Added global fragment animations toorenovate/org.robolectric-robolectric-4.x
Ammar Githam
4 years ago
48 changed files with 1427 additions and 1350 deletions
-
33app/src/main/java/awais/instagrabber/activities/MainActivity.java
-
75app/src/main/java/awais/instagrabber/customviews/FragmentNavigatorWithDefaultAnimations.java
-
60app/src/main/java/awais/instagrabber/customviews/NavHostFragmentWithDefaultAnimations.java
-
29app/src/main/java/awais/instagrabber/customviews/PostsRecyclerView.java
-
2app/src/main/java/awais/instagrabber/customviews/drawee/ZoomableDraweeView.java
-
19app/src/main/java/awais/instagrabber/customviews/helpers/GridSpacingItemDecoration.java
-
116app/src/main/java/awais/instagrabber/fragments/CollectionPostsFragment.java
-
124app/src/main/java/awais/instagrabber/fragments/HashTagFragment.java
-
52app/src/main/java/awais/instagrabber/fragments/LocationFragment.java
-
18app/src/main/java/awais/instagrabber/fragments/NotificationsViewerFragment.java
-
536app/src/main/java/awais/instagrabber/fragments/PostViewV2Fragment.java
-
19app/src/main/java/awais/instagrabber/fragments/SavedViewerFragment.java
-
38app/src/main/java/awais/instagrabber/fragments/StoryViewerFragment.java
-
21app/src/main/java/awais/instagrabber/fragments/TopicPostsFragment.java
-
26app/src/main/java/awais/instagrabber/fragments/directmessages/DirectMessageThreadFragment.java
-
50app/src/main/java/awais/instagrabber/fragments/main/FeedFragment.java
-
55app/src/main/java/awais/instagrabber/fragments/main/ProfileFragment.java
-
3app/src/main/java/awais/instagrabber/utils/NavigationExtensions.java
-
6app/src/main/java/awais/instagrabber/utils/Utils.java
-
1app/src/main/java/awais/instagrabber/webservices/interceptors/IgErrorsInterceptor.java
-
11app/src/main/res/anim/slide_in_right.xml
-
13app/src/main/res/anim/slide_left.xml
-
11app/src/main/res/anim/slide_out_left.xml
-
13app/src/main/res/anim/slide_right.xml
-
10app/src/main/res/drawable/ic_round_edit_24.xml
-
2app/src/main/res/drawable/shape_oval_light.xml
-
973app/src/main/res/layout/dialog_post_view.xml
-
45app/src/main/res/layout/fragment_feed.xml
-
24app/src/main/res/layout/fragment_hashtag.xml
-
24app/src/main/res/layout/fragment_location.xml
-
37app/src/main/res/layout/fragment_profile.xml
-
1app/src/main/res/layout/item_highlight.xml
-
75app/src/main/res/layout/layout_exo_custom_controls.xml
-
3app/src/main/res/layout/layout_hashtag_details.xml
-
35app/src/main/res/layout/layout_location_details.xml
-
7app/src/main/res/layout/layout_profile_details.xml
-
18app/src/main/res/layout/layout_video_player_with_thumbnail.xml
-
8app/src/main/res/menu/collection_posts_menu.xml
-
18app/src/main/res/navigation/direct_messages_nav_graph.xml
-
17app/src/main/res/navigation/discover_nav_graph.xml
-
17app/src/main/res/navigation/feed_nav_graph.xml
-
17app/src/main/res/navigation/hashtag_nav_graph.xml
-
17app/src/main/res/navigation/location_nav_graph.xml
-
17app/src/main/res/navigation/notification_viewer_nav_graph.xml
-
21app/src/main/res/navigation/profile_nav_graph.xml
-
23app/src/main/res/navigation/saved_nav_graph.xml
-
5app/src/main/res/values/drawables.xml
-
32app/src/main/res/xml/header_list_scene.xml
@ -0,0 +1,75 @@ |
|||
package awais.instagrabber.customviews; |
|||
|
|||
import android.content.Context; |
|||
import android.os.Bundle; |
|||
|
|||
import androidx.annotation.NonNull; |
|||
import androidx.annotation.Nullable; |
|||
import androidx.fragment.app.FragmentManager; |
|||
import androidx.navigation.NavDestination; |
|||
import androidx.navigation.NavOptions; |
|||
import androidx.navigation.Navigator; |
|||
import androidx.navigation.fragment.FragmentNavigator; |
|||
|
|||
import awais.instagrabber.R; |
|||
|
|||
@Navigator.Name("fragment") |
|||
public class FragmentNavigatorWithDefaultAnimations extends FragmentNavigator { |
|||
|
|||
private final NavOptions emptyNavOptions = new NavOptions.Builder().build(); |
|||
// private final NavOptions defaultNavOptions = new NavOptions.Builder() |
|||
// .setEnterAnim(R.animator.nav_default_enter_anim) |
|||
// .setExitAnim(R.animator.nav_default_exit_anim) |
|||
// .setPopEnterAnim(R.animator.nav_default_pop_enter_anim) |
|||
// .setPopExitAnim(R.animator.nav_default_pop_exit_anim) |
|||
// .build(); |
|||
|
|||
private final NavOptions defaultNavOptions = new NavOptions.Builder() |
|||
.setEnterAnim(R.anim.slide_in_right) |
|||
.setExitAnim(R.anim.slide_out_left) |
|||
.setPopEnterAnim(android.R.anim.slide_in_left) |
|||
.setPopExitAnim(android.R.anim.slide_out_right) |
|||
.build(); |
|||
|
|||
public FragmentNavigatorWithDefaultAnimations(@NonNull final Context context, |
|||
@NonNull final FragmentManager manager, |
|||
final int containerId) { |
|||
super(context, manager, containerId); |
|||
} |
|||
|
|||
@Nullable |
|||
@Override |
|||
public NavDestination navigate(@NonNull final Destination destination, |
|||
@Nullable final Bundle args, |
|||
@Nullable final NavOptions navOptions, |
|||
@Nullable final Navigator.Extras navigatorExtras) { |
|||
// this will try to fill in empty animations with defaults when no shared element transitions are set |
|||
// https://developer.android.com/guide/navigation/navigation-animate-transitions#shared-element |
|||
final boolean shouldUseTransitionsInstead = navigatorExtras != null; |
|||
final NavOptions navOptions1 = shouldUseTransitionsInstead ? navOptions : fillEmptyAnimationsWithDefaults(navOptions); |
|||
return super.navigate(destination, args, navOptions1, navigatorExtras); |
|||
} |
|||
|
|||
private NavOptions fillEmptyAnimationsWithDefaults(@Nullable final NavOptions navOptions) { |
|||
if (navOptions == null) { |
|||
return defaultNavOptions; |
|||
} |
|||
return copyNavOptionsWithDefaultAnimations(navOptions); |
|||
} |
|||
|
|||
@NonNull |
|||
private NavOptions copyNavOptionsWithDefaultAnimations(@NonNull final NavOptions navOptions) { |
|||
return new NavOptions.Builder() |
|||
.setLaunchSingleTop(navOptions.shouldLaunchSingleTop()) |
|||
.setPopUpTo(navOptions.getPopUpTo(), navOptions.isPopUpToInclusive()) |
|||
.setEnterAnim(navOptions.getEnterAnim() == emptyNavOptions.getEnterAnim() |
|||
? defaultNavOptions.getEnterAnim() : navOptions.getEnterAnim()) |
|||
.setExitAnim(navOptions.getExitAnim() == emptyNavOptions.getExitAnim() |
|||
? defaultNavOptions.getExitAnim() : navOptions.getExitAnim()) |
|||
.setPopEnterAnim(navOptions.getPopEnterAnim() == emptyNavOptions.getPopEnterAnim() |
|||
? defaultNavOptions.getPopEnterAnim() : navOptions.getPopEnterAnim()) |
|||
.setPopExitAnim(navOptions.getPopExitAnim() == emptyNavOptions.getPopExitAnim() |
|||
? defaultNavOptions.getPopExitAnim() : navOptions.getPopExitAnim()) |
|||
.build(); |
|||
} |
|||
} |
@ -0,0 +1,60 @@ |
|||
package awais.instagrabber.customviews; |
|||
|
|||
import android.os.Bundle; |
|||
|
|||
import androidx.annotation.NavigationRes; |
|||
import androidx.annotation.NonNull; |
|||
import androidx.annotation.Nullable; |
|||
import androidx.navigation.NavController; |
|||
import androidx.navigation.Navigator; |
|||
import androidx.navigation.fragment.FragmentNavigator; |
|||
import androidx.navigation.fragment.NavHostFragment; |
|||
|
|||
public class NavHostFragmentWithDefaultAnimations extends NavHostFragment { |
|||
private static final String KEY_GRAPH_ID = "android-support-nav:fragment:graphId"; |
|||
private static final String KEY_START_DESTINATION_ARGS = |
|||
"android-support-nav:fragment:startDestinationArgs"; |
|||
private static final String KEY_NAV_CONTROLLER_STATE = |
|||
"android-support-nav:fragment:navControllerState"; |
|||
private static final String KEY_DEFAULT_NAV_HOST = "android-support-nav:fragment:defaultHost"; |
|||
|
|||
@NonNull |
|||
public static NavHostFragment create(@NavigationRes int graphResId) { |
|||
return create(graphResId, null); |
|||
} |
|||
|
|||
@NonNull |
|||
public static NavHostFragment create(@NavigationRes int graphResId, |
|||
@Nullable Bundle startDestinationArgs) { |
|||
Bundle b = null; |
|||
if (graphResId != 0) { |
|||
b = new Bundle(); |
|||
b.putInt(KEY_GRAPH_ID, graphResId); |
|||
} |
|||
if (startDestinationArgs != null) { |
|||
if (b == null) { |
|||
b = new Bundle(); |
|||
} |
|||
b.putBundle(KEY_START_DESTINATION_ARGS, startDestinationArgs); |
|||
} |
|||
|
|||
final NavHostFragmentWithDefaultAnimations result = new NavHostFragmentWithDefaultAnimations(); |
|||
if (b != null) { |
|||
result.setArguments(b); |
|||
} |
|||
return result; |
|||
} |
|||
|
|||
@NonNull |
|||
@Override |
|||
protected Navigator<? extends FragmentNavigator.Destination> createFragmentNavigator() { |
|||
return new FragmentNavigatorWithDefaultAnimations(requireContext(), getChildFragmentManager(), getId()); |
|||
} |
|||
|
|||
@Override |
|||
protected void onCreateNavController(@NonNull final NavController navController) { |
|||
super.onCreateNavController(navController); |
|||
navController.getNavigatorProvider() |
|||
.addNavigator(new FragmentNavigatorWithDefaultAnimations(requireContext(), getChildFragmentManager(), getId())); |
|||
} |
|||
} |
@ -0,0 +1,11 @@ |
|||
<?xml version="1.0" encoding="utf-8"?> |
|||
<set xmlns:android="http://schemas.android.com/apk/res/android"> |
|||
<translate |
|||
android:duration="@android:integer/config_mediumAnimTime" |
|||
android:fromXDelta="50%p" |
|||
android:toXDelta="0" /> |
|||
<alpha |
|||
android:duration="@android:integer/config_mediumAnimTime" |
|||
android:fromAlpha="0.0" |
|||
android:toAlpha="1.0" /> |
|||
</set> |
@ -1,10 +1,5 @@ |
|||
<?xml version="1.0" encoding="utf-8"?> |
|||
<set xmlns:android="http://schemas.android.com/apk/res/android" |
|||
android:shareInterpolator="false"> |
|||
<translate |
|||
android:duration="300" |
|||
android:fromXDelta="100%" |
|||
android:fromYDelta="0%" |
|||
android:toXDelta="0%" |
|||
android:toYDelta="0%" /> |
|||
</set> |
|||
<translate xmlns:android="http://schemas.android.com/apk/res/android" |
|||
android:duration="300" |
|||
android:fromXDelta="100%" |
|||
android:toXDelta="0%" /> |
@ -0,0 +1,11 @@ |
|||
<?xml version="1.0" encoding="utf-8"?> |
|||
<set xmlns:android="http://schemas.android.com/apk/res/android"> |
|||
<translate |
|||
android:duration="@android:integer/config_mediumAnimTime" |
|||
android:fromXDelta="0" |
|||
android:toXDelta="-50%p" /> |
|||
<alpha |
|||
android:duration="@android:integer/config_mediumAnimTime" |
|||
android:fromAlpha="1.0" |
|||
android:toAlpha="0.0" /> |
|||
</set> |
@ -1,10 +1,5 @@ |
|||
<?xml version="1.0" encoding="utf-8"?> |
|||
<set xmlns:android="http://schemas.android.com/apk/res/android" |
|||
android:shareInterpolator="false"> |
|||
<translate |
|||
android:duration="300" |
|||
android:fromXDelta="0%" |
|||
android:fromYDelta="0%" |
|||
android:toXDelta="100%" |
|||
android:toYDelta="0%" /> |
|||
</set> |
|||
<translate xmlns:android="http://schemas.android.com/apk/res/android" |
|||
android:duration="300" |
|||
android:fromXDelta="0%" |
|||
android:toXDelta="100%" /> |
@ -0,0 +1,10 @@ |
|||
<vector xmlns:android="http://schemas.android.com/apk/res/android" |
|||
android:width="24dp" |
|||
android:height="24dp" |
|||
android:viewportWidth="24" |
|||
android:viewportHeight="24" |
|||
android:tint="?attr/colorControlNormal"> |
|||
<path |
|||
android:fillColor="@android:color/white" |
|||
android:pathData="M3,17.46v3.04c0,0.28 0.22,0.5 0.5,0.5h3.04c0.13,0 0.26,-0.05 0.35,-0.15L17.81,9.94l-3.75,-3.75L3.15,17.1c-0.1,0.1 -0.15,0.22 -0.15,0.36zM20.71,7.04c0.39,-0.39 0.39,-1.02 0,-1.41l-2.34,-2.34c-0.39,-0.39 -1.02,-0.39 -1.41,0l-1.83,1.83 3.75,3.75 1.83,-1.83z"/> |
|||
</vector> |
@ -1,5 +1,5 @@ |
|||
<?xml version="1.0" encoding="utf-8"?> |
|||
<shape xmlns:android="http://schemas.android.com/apk/res/android" |
|||
android:shape="oval"> |
|||
<solid android:color="@color/black" /> |
|||
<solid android:color="@android:color/transparent" /> |
|||
</shape> |
@ -1,477 +1,514 @@ |
|||
<?xml version="1.0" encoding="utf-8"?> |
|||
<androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android" |
|||
<androidx.core.widget.NestedScrollView 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" |
|||
android:background="@color/black_a80"> |
|||
android:layout_height="match_parent"> |
|||
|
|||
<awais.instagrabber.customviews.drawee.DraggableZoomableDraweeView |
|||
android:id="@+id/post_image" |
|||
<androidx.constraintlayout.widget.ConstraintLayout |
|||
android:layout_width="match_parent" |
|||
android:layout_height="match_parent" |
|||
android:background="@null" |
|||
android:clickable="true" |
|||
android:focusable="true" |
|||
android:transitionName="post_image" |
|||
app:actualImageScaleType="fitCenter" |
|||
app:layout_constraintBottom_toBottomOf="parent" |
|||
app:layout_constraintEnd_toEndOf="parent" |
|||
app:layout_constraintStart_toStartOf="parent" |
|||
app:layout_constraintTop_toTopOf="parent" |
|||
tools:background="@mipmap/ic_launcher" |
|||
tools:visibility="visible" /> |
|||
|
|||
<include |
|||
android:id="@+id/video_post" |
|||
layout="@layout/layout_video_player_with_thumbnail" |
|||
android:visibility="gone" /> |
|||
|
|||
<androidx.viewpager2.widget.ViewPager2 |
|||
android:id="@+id/slider_parent" |
|||
android:layout_width="match_parent" |
|||
android:layout_height="match_parent" |
|||
android:visibility="gone" |
|||
tools:visibility="visible" /> |
|||
|
|||
<View |
|||
android:id="@+id/top_bg" |
|||
android:layout_width="0dp" |
|||
android:layout_height="0dp" |
|||
android:background="@color/black_a80" |
|||
app:layout_constraintBottom_toBottomOf="@id/profile_pic" |
|||
app:layout_constraintEnd_toEndOf="parent" |
|||
app:layout_constraintStart_toStartOf="parent" |
|||
app:layout_constraintTop_toTopOf="parent" /> |
|||
|
|||
<awais.instagrabber.customviews.ProfilePicView |
|||
android:id="@+id/profile_pic" |
|||
android:layout_width="wrap_content" |
|||
android:layout_height="wrap_content" |
|||
android:layout_margin="12dp" |
|||
android:transitionName="profile_pic" |
|||
app:layout_constraintBottom_toBottomOf="@id/top_bg" |
|||
app:layout_constraintEnd_toStartOf="@id/title" |
|||
app:layout_constraintHorizontal_bias="0" |
|||
app:layout_constraintHorizontal_chainStyle="packed" |
|||
app:layout_constraintStart_toStartOf="parent" |
|||
app:layout_constraintTop_toTopOf="@id/top_bg" |
|||
app:size="regular" /> |
|||
|
|||
<androidx.appcompat.widget.AppCompatTextView |
|||
android:id="@+id/title" |
|||
android:layout_width="0dp" |
|||
android:layout_height="wrap_content" |
|||
android:ellipsize="marquee" |
|||
android:singleLine="true" |
|||
android:textAppearance="@style/TextAppearance.MaterialComponents.Headline6" |
|||
android:textColor="@color/white" |
|||
app:layout_constrainedWidth="true" |
|||
app:layout_constraintBottom_toTopOf="@id/subtitle" |
|||
app:layout_constraintEnd_toStartOf="@id/options" |
|||
app:layout_constraintStart_toEndOf="@id/profile_pic" |
|||
app:layout_constraintTop_toTopOf="@id/profile_pic" |
|||
tools:text="Username Username Username" /> |
|||
|
|||
<androidx.appcompat.widget.AppCompatTextView |
|||
android:id="@+id/subtitle" |
|||
android:layout_width="0dp" |
|||
android:layout_height="wrap_content" |
|||
android:ellipsize="end" |
|||
android:singleLine="true" |
|||
android:textAppearance="@style/TextAppearance.MaterialComponents.Subtitle1" |
|||
android:textColor="@color/white" |
|||
app:layout_constraintBottom_toBottomOf="@id/profile_pic" |
|||
app:layout_constraintEnd_toStartOf="@id/options" |
|||
app:layout_constraintStart_toStartOf="@id/title" |
|||
app:layout_constraintTop_toBottomOf="@id/title" |
|||
tools:text="Full name Full name Full name Full name Full name Full name Full name " /> |
|||
|
|||
<androidx.appcompat.widget.AppCompatImageView |
|||
android:id="@+id/options" |
|||
android:layout_width="wrap_content" |
|||
android:layout_height="0dp" |
|||
android:paddingStart="8dp" |
|||
android:paddingEnd="8dp" |
|||
android:visibility="gone" |
|||
app:layout_constraintBottom_toBottomOf="@id/top_bg" |
|||
app:layout_constraintEnd_toEndOf="parent" |
|||
app:layout_constraintTop_toTopOf="@id/top_bg" |
|||
app:srcCompat="@drawable/ic_more_vert_24" |
|||
app:tint="@color/white" |
|||
tools:visibility="visible" /> |
|||
|
|||
<androidx.constraintlayout.widget.Group |
|||
android:id="@+id/user_details_group" |
|||
android:layout_width="0dp" |
|||
android:layout_height="0dp" |
|||
app:constraint_referenced_ids="top_bg, profile_pic,title,subtitle,options" |
|||
tools:visibility="visible" /> |
|||
|
|||
<androidx.appcompat.widget.AppCompatTextView |
|||
android:id="@+id/media_counter" |
|||
android:layout_width="wrap_content" |
|||
android:layout_height="wrap_content" |
|||
android:layout_marginStart="16dp" |
|||
android:layout_marginTop="16dp" |
|||
android:background="@drawable/rounder_corner_semi_black_bg" |
|||
android:gravity="center" |
|||
android:padding="8dp" |
|||
android:textAppearance="@style/TextAppearance.AppCompat.Caption" |
|||
android:textColor="@android:color/white" |
|||
android:visibility="gone" |
|||
app:layout_constraintStart_toStartOf="parent" |
|||
app:layout_constraintTop_toBottomOf="@id/top_bg" |
|||
tools:text="1/5" |
|||
tools:visibility="visible" /> |
|||
|
|||
<com.google.android.material.button.MaterialButton |
|||
android:id="@+id/location" |
|||
style="?borderlessButtonStyle" |
|||
android:layout_width="wrap_content" |
|||
android:layout_height="wrap_content" |
|||
android:layout_marginTop="16dp" |
|||
android:layout_marginEnd="16dp" |
|||
android:elevation="0dp" |
|||
android:ellipsize="end" |
|||
android:insetTop="0dp" |
|||
android:insetBottom="0dp" |
|||
android:maxWidth="200dp" |
|||
android:maxLines="1" |
|||
android:minHeight="32dp" |
|||
android:paddingStart="8dp" |
|||
android:paddingEnd="8dp" |
|||
android:textAlignment="viewStart" |
|||
android:textAllCaps="false" |
|||
android:textColor="@android:color/white" |
|||
android:visibility="gone" |
|||
app:backgroundTint="@color/black_a50" |
|||
app:elevation="0dp" |
|||
app:icon="@drawable/ic_round_location_on_24" |
|||
app:iconSize="16dp" |
|||
app:iconTint="@color/white" |
|||
app:layout_constraintEnd_toEndOf="parent" |
|||
app:layout_constraintTop_toBottomOf="@id/top_bg" |
|||
app:rippleColor="@color/grey_600" |
|||
tools:text="Location, Location, Location, Location, " |
|||
tools:visibility="visible" /> |
|||
|
|||
<androidx.coordinatorlayout.widget.CoordinatorLayout |
|||
android:layout_width="match_parent" |
|||
android:layout_height="0dp" |
|||
android:background="@null" |
|||
app:layout_constraintBottom_toBottomOf="@id/bottom_bg_barrier" |
|||
app:layout_constraintEnd_toEndOf="parent" |
|||
app:layout_constraintStart_toStartOf="parent" |
|||
app:layout_constraintTop_toTopOf="parent" |
|||
tools:visibility="visible"> |
|||
|
|||
<androidx.core.widget.NestedScrollView |
|||
android:id="@+id/caption_parent" |
|||
android:layout_height="wrap_content"> |
|||
|
|||
<awais.instagrabber.customviews.drawee.ZoomableDraweeView |
|||
android:id="@+id/post_image" |
|||
android:layout_width="match_parent" |
|||
android:layout_height="wrap_content" |
|||
android:background="@color/black_a80" |
|||
app:behavior_hideable="true" |
|||
app:behavior_peekHeight="100dp" |
|||
app:layout_behavior="com.google.android.material.bottomsheet.BottomSheetBehavior"> |
|||
|
|||
<ScrollView |
|||
android:id="@+id/bottom_scroll_view" |
|||
android:layout_width="match_parent" |
|||
android:layout_height="match_parent" |
|||
android:background="@null"> |
|||
|
|||
<LinearLayout |
|||
android:layout_width="match_parent" |
|||
android:layout_height="wrap_content" |
|||
android:orientation="vertical"> |
|||
|
|||
<awais.instagrabber.customviews.RamboTextViewV2 |
|||
android:id="@+id/caption" |
|||
android:layout_width="match_parent" |
|||
android:layout_height="wrap_content" |
|||
android:layout_gravity="bottom" |
|||
android:background="@null" |
|||
android:clickable="true" |
|||
android:focusable="true" |
|||
android:padding="16dp" |
|||
android:textAppearance="@style/TextAppearance.MaterialComponents.Body1" |
|||
android:textColor="@color/white" |
|||
tools:text="Text text text" /> |
|||
|
|||
<!--<androidx.appcompat.widget.AppCompatTextView--> |
|||
<!-- android:id="@+id/editCaption"--> |
|||
<!-- android:layout_width="match_parent"--> |
|||
<!-- android:layout_height="wrap_content"--> |
|||
<!-- android:layout_marginStart="16dp"--> |
|||
<!-- android:layout_marginTop="8dp"--> |
|||
<!-- android:background="@null"--> |
|||
<!-- android:gravity="center_vertical"--> |
|||
<!-- android:text="@string/edit_caption"--> |
|||
<!-- android:textColor="?android:textColorSecondary"--> |
|||
<!-- android:textSize="16sp"--> |
|||
<!-- android:visibility="gone"--> |
|||
<!-- app:layout_constraintBottom_toTopOf="@id/translatedCaption"--> |
|||
<!-- app:layout_constraintTop_toBottomOf="@id/caption"--> |
|||
<!-- tools:visibility="visible" />--> |
|||
|
|||
<androidx.appcompat.widget.AppCompatTextView |
|||
android:id="@+id/translate" |
|||
android:layout_width="match_parent" |
|||
android:layout_height="wrap_content" |
|||
android:background="@null" |
|||
android:gravity="center_vertical" |
|||
android:paddingStart="16dp" |
|||
android:paddingTop="8dp" |
|||
android:paddingEnd="16dp" |
|||
android:paddingBottom="8dp" |
|||
android:text="@string/translate_caption" |
|||
android:textColor="@color/blue_600" |
|||
android:textSize="16sp" |
|||
android:visibility="visible" /> |
|||
|
|||
<!--<awais.instagrabber.customviews.RamboTextViewV2--> |
|||
<!-- android:id="@+id/translatedCaption"--> |
|||
<!-- android:layout_width="match_parent"--> |
|||
<!-- android:layout_height="wrap_content"--> |
|||
<!-- android:layout_gravity="bottom"--> |
|||
<!-- android:background="@null"--> |
|||
<!-- android:clickable="true"--> |
|||
<!-- android:focusable="true"--> |
|||
<!-- android:padding="16dp"--> |
|||
<!-- android:textAppearance="@style/TextAppearance.MaterialComponents.Body1"--> |
|||
<!-- android:textColor="@color/white"--> |
|||
<!-- android:visibility="gone"--> |
|||
<!-- app:layout_constraintBottom_toBottomOf="parent"--> |
|||
<!-- app:layout_constraintTop_toBottomOf="@id/translateTitle"--> |
|||
<!-- tools:text="Text text text"--> |
|||
<!-- tools:visibility="visible" />--> |
|||
</LinearLayout> |
|||
</ScrollView> |
|||
</androidx.core.widget.NestedScrollView> |
|||
</androidx.coordinatorlayout.widget.CoordinatorLayout> |
|||
|
|||
<!--<include--> |
|||
<!-- android:id="@+id/player_controls"--> |
|||
<!-- layout="@layout/layout_exo_custom_controls"--> |
|||
<!-- android:layout_width="0dp"--> |
|||
<!-- android:layout_height="wrap_content"--> |
|||
<!-- android:visibility="gone"--> |
|||
<!-- app:layout_constraintBottom_toTopOf="@id/bottom_bg_barrier"--> |
|||
<!-- app:layout_constraintEnd_toEndOf="parent"--> |
|||
<!-- app:layout_constraintStart_toStartOf="parent"--> |
|||
<!-- tools:visibility="gone" />--> |
|||
|
|||
<View |
|||
android:id="@+id/bottom_bg" |
|||
android:layout_width="0dp" |
|||
android:layout_height="0dp" |
|||
android:background="@color/black_a80" |
|||
app:layout_constraintBottom_toBottomOf="parent" |
|||
app:layout_constraintEnd_toEndOf="parent" |
|||
app:layout_constraintStart_toStartOf="parent" |
|||
app:layout_constraintTop_toTopOf="@id/bottom_bg_barrier" /> |
|||
|
|||
<androidx.constraintlayout.widget.Barrier |
|||
android:id="@+id/bottom_bg_barrier" |
|||
android:layout_width="match_parent" |
|||
android:layout_height="wrap_content" |
|||
app:barrierAllowsGoneWidgets="true" |
|||
app:barrierDirection="top" |
|||
app:constraint_referenced_ids="likes_count,comments_count,views_count" /> |
|||
|
|||
<androidx.appcompat.widget.AppCompatTextView |
|||
android:id="@+id/likes_count" |
|||
android:layout_width="wrap_content" |
|||
android:layout_height="wrap_content" |
|||
android:padding="8dp" |
|||
android:textColor="@color/white" |
|||
app:layout_constraintBottom_toTopOf="@id/counts_barrier" |
|||
app:layout_constraintEnd_toStartOf="@id/comments_count" |
|||
app:layout_constraintHorizontal_bias="0" |
|||
app:layout_constraintStart_toStartOf="parent" |
|||
app:layout_constraintTop_toBottomOf="@id/bottom_bg_barrier" |
|||
tools:text="9999999999 likes" |
|||
tools:visibility="gone" /> |
|||
|
|||
<androidx.appcompat.widget.AppCompatTextView |
|||
android:id="@+id/comments_count" |
|||
android:layout_width="wrap_content" |
|||
android:layout_height="wrap_content" |
|||
android:padding="8dp" |
|||
android:textColor="@color/white" |
|||
app:layout_constraintBottom_toTopOf="@id/counts_barrier" |
|||
app:layout_constraintEnd_toStartOf="@id/views_count" |
|||
app:layout_constraintHorizontal_bias="0" |
|||
app:layout_constraintStart_toEndOf="@id/likes_count" |
|||
app:layout_constraintTop_toBottomOf="@id/bottom_bg_barrier" |
|||
tools:text="9999999 comments" |
|||
tools:visibility="gone" /> |
|||
|
|||
<androidx.appcompat.widget.AppCompatTextView |
|||
android:id="@+id/views_count" |
|||
android:layout_width="0dp" |
|||
android:layout_height="wrap_content" |
|||
android:padding="8dp" |
|||
android:textColor="@color/white" |
|||
app:layout_constraintBottom_toTopOf="@id/counts_barrier" |
|||
app:layout_constraintEnd_toEndOf="parent" |
|||
app:layout_constraintStart_toEndOf="@id/comments_count" |
|||
app:layout_constraintTop_toBottomOf="@id/bottom_bg_barrier" |
|||
tools:text="9999999999 views" |
|||
tools:visibility="gone" /> |
|||
|
|||
<androidx.constraintlayout.widget.Barrier |
|||
android:id="@+id/counts_barrier" |
|||
android:layout_width="match_parent" |
|||
android:layout_height="wrap_content" |
|||
app:barrierAllowsGoneWidgets="true" |
|||
app:barrierDirection="top" |
|||
app:constraint_referenced_ids="date" /> |
|||
android:background="@null" |
|||
android:clickable="true" |
|||
android:focusable="true" |
|||
android:transitionName="post_image" |
|||
app:actualImageScaleType="fitCenter" |
|||
app:layout_constraintBottom_toTopOf="@id/bottom_bg_barrier" |
|||
app:layout_constraintEnd_toEndOf="parent" |
|||
app:layout_constraintStart_toStartOf="parent" |
|||
app:layout_constraintTop_toBottomOf="@id/top_barrier" |
|||
tools:background="@mipmap/ic_launcher" |
|||
tools:layout_height="400dp" |
|||
tools:visibility="gone" /> |
|||
|
|||
<include |
|||
android:id="@+id/video_post" |
|||
layout="@layout/layout_video_player_with_thumbnail" |
|||
android:layout_width="match_parent" |
|||
android:layout_height="0dp" |
|||
android:visibility="gone" |
|||
app:layout_constraintBottom_toTopOf="@id/bottom_bg_barrier" |
|||
app:layout_constraintTop_toBottomOf="@id/top_barrier" |
|||
tools:layout_height="400dp" |
|||
tools:visibility="visible" /> |
|||
|
|||
<androidx.viewpager2.widget.ViewPager2 |
|||
android:id="@+id/slider_parent" |
|||
android:layout_width="match_parent" |
|||
android:layout_height="0dp" |
|||
android:visibility="gone" |
|||
app:layout_constraintBottom_toTopOf="@id/bottom_bg_barrier" |
|||
app:layout_constraintTop_toBottomOf="@id/top_barrier" |
|||
tools:layout_height="400dp" |
|||
tools:visibility="gone" /> |
|||
|
|||
<!--<View--> |
|||
<!-- android:id="@+id/top_bg"--> |
|||
<!-- android:layout_width="0dp"--> |
|||
<!-- android:layout_height="0dp"--> |
|||
<!-- app:layout_constraintBottom_toBottomOf="@id/profile_pic"--> |
|||
<!-- app:layout_constraintEnd_toEndOf="parent"--> |
|||
<!-- app:layout_constraintStart_toStartOf="parent"--> |
|||
<!-- app:layout_constraintTop_toTopOf="parent" />--> |
|||
|
|||
<awais.instagrabber.customviews.ProfilePicView |
|||
android:id="@+id/profile_pic" |
|||
android:layout_width="wrap_content" |
|||
android:layout_height="wrap_content" |
|||
android:layout_margin="12dp" |
|||
android:transitionName="profile_pic" |
|||
app:layout_constraintBottom_toTopOf="@id/top_barrier" |
|||
app:layout_constraintEnd_toStartOf="@id/title" |
|||
app:layout_constraintHorizontal_bias="0" |
|||
app:layout_constraintHorizontal_chainStyle="packed" |
|||
app:layout_constraintStart_toStartOf="parent" |
|||
app:layout_constraintTop_toTopOf="parent" |
|||
app:size="regular" /> |
|||
|
|||
<androidx.appcompat.widget.AppCompatTextView |
|||
android:id="@+id/title" |
|||
android:layout_width="0dp" |
|||
android:layout_height="wrap_content" |
|||
android:ellipsize="marquee" |
|||
android:singleLine="true" |
|||
android:textAppearance="@style/TextAppearance.MaterialComponents.Headline6" |
|||
app:layout_constrainedWidth="true" |
|||
app:layout_constraintBottom_toTopOf="@id/subtitle" |
|||
app:layout_constraintEnd_toStartOf="@id/options" |
|||
app:layout_constraintStart_toEndOf="@id/profile_pic" |
|||
app:layout_constraintTop_toTopOf="@id/profile_pic" |
|||
tools:text="Username Username Username" /> |
|||
|
|||
<androidx.appcompat.widget.AppCompatTextView |
|||
android:id="@+id/subtitle" |
|||
android:layout_width="0dp" |
|||
android:layout_height="wrap_content" |
|||
android:ellipsize="end" |
|||
android:singleLine="true" |
|||
android:textAppearance="@style/TextAppearance.MaterialComponents.Subtitle1" |
|||
app:layout_constraintBottom_toBottomOf="@id/profile_pic" |
|||
app:layout_constraintEnd_toStartOf="@id/options" |
|||
app:layout_constraintStart_toStartOf="@id/title" |
|||
app:layout_constraintTop_toBottomOf="@id/title" |
|||
tools:text="Full name Full name Full name Full name Full name Full name Full name " |
|||
tools:visibility="gone" /> |
|||
|
|||
<androidx.appcompat.widget.AppCompatImageView |
|||
android:id="@+id/options" |
|||
android:layout_width="wrap_content" |
|||
android:layout_height="0dp" |
|||
android:paddingStart="8dp" |
|||
android:paddingEnd="8dp" |
|||
android:visibility="gone" |
|||
app:layout_constraintBottom_toBottomOf="@id/profile_pic" |
|||
app:layout_constraintEnd_toEndOf="parent" |
|||
app:layout_constraintTop_toTopOf="@id/profile_pic" |
|||
app:srcCompat="@drawable/ic_more_vert_24" |
|||
tools:visibility="visible" /> |
|||
|
|||
<androidx.constraintlayout.widget.Barrier |
|||
android:id="@+id/top_barrier" |
|||
android:layout_width="0dp" |
|||
android:layout_height="0dp" |
|||
app:barrierAllowsGoneWidgets="true" |
|||
app:barrierDirection="bottom" /> |
|||
|
|||
<!--<androidx.constraintlayout.widget.Group--> |
|||
<!-- android:id="@+id/user_details_group"--> |
|||
<!-- android:layout_width="0dp"--> |
|||
<!-- android:layout_height="0dp"--> |
|||
<!-- app:constraint_referenced_ids="profile_pic,title,subtitle,options" />--> |
|||
|
|||
<androidx.appcompat.widget.AppCompatTextView |
|||
android:id="@+id/media_counter" |
|||
android:layout_width="wrap_content" |
|||
android:layout_height="wrap_content" |
|||
android:layout_marginStart="16dp" |
|||
android:layout_marginTop="16dp" |
|||
android:background="@drawable/rounder_corner_semi_black_bg" |
|||
android:gravity="center" |
|||
android:padding="8dp" |
|||
android:textAppearance="@style/TextAppearance.AppCompat.Caption" |
|||
android:textColor="@android:color/white" |
|||
android:visibility="gone" |
|||
app:layout_constraintStart_toStartOf="parent" |
|||
app:layout_constraintTop_toBottomOf="@id/profile_pic" |
|||
tools:text="1/5" |
|||
tools:visibility="visible" /> |
|||
|
|||
<com.google.android.material.button.MaterialButton |
|||
android:id="@+id/location" |
|||
style="?borderlessButtonStyle" |
|||
android:layout_width="wrap_content" |
|||
android:layout_height="wrap_content" |
|||
android:layout_marginTop="16dp" |
|||
android:layout_marginEnd="16dp" |
|||
android:elevation="0dp" |
|||
android:ellipsize="end" |
|||
android:insetTop="0dp" |
|||
android:insetBottom="0dp" |
|||
android:maxWidth="200dp" |
|||
android:maxLines="1" |
|||
android:minHeight="32dp" |
|||
android:paddingStart="8dp" |
|||
android:paddingEnd="8dp" |
|||
android:textAlignment="viewStart" |
|||
android:textAllCaps="false" |
|||
android:textColor="@android:color/white" |
|||
android:visibility="gone" |
|||
app:backgroundTint="@color/black_a50" |
|||
app:elevation="0dp" |
|||
app:icon="@drawable/ic_round_location_on_24" |
|||
app:iconSize="16dp" |
|||
app:iconTint="@color/white" |
|||
app:layout_constraintEnd_toEndOf="parent" |
|||
app:layout_constraintTop_toBottomOf="@id/profile_pic" |
|||
app:rippleColor="@color/grey_600" |
|||
tools:text="Location, Location, Location, Location, " |
|||
tools:visibility="visible" /> |
|||
|
|||
<!--<androidx.coordinatorlayout.widget.CoordinatorLayout--> |
|||
<!-- android:layout_width="match_parent"--> |
|||
<!-- android:layout_height="0dp"--> |
|||
<!-- android:background="@null"--> |
|||
<!-- app:layout_constraintBottom_toBottomOf="@id/bottom_bg_barrier"--> |
|||
<!-- app:layout_constraintEnd_toEndOf="parent"--> |
|||
<!-- app:layout_constraintStart_toStartOf="parent"--> |
|||
<!-- app:layout_constraintTop_toTopOf="parent"--> |
|||
<!-- tools:visibility="gone">--> |
|||
|
|||
<!-- <androidx.core.widget.NestedScrollView--> |
|||
<!-- android:id="@+id/caption_parent"--> |
|||
<!-- android:layout_width="match_parent"--> |
|||
<!-- android:layout_height="wrap_content"--> |
|||
<!-- android:background="@color/black_a80"--> |
|||
<!-- app:behavior_hideable="true"--> |
|||
<!-- app:behavior_peekHeight="100dp"--> |
|||
<!-- app:layout_behavior="com.google.android.material.bottomsheet.BottomSheetBehavior">--> |
|||
|
|||
<!-- <ScrollView--> |
|||
<!-- android:id="@+id/bottom_scroll_view"--> |
|||
<!-- android:layout_width="match_parent"--> |
|||
<!-- android:layout_height="match_parent"--> |
|||
<!-- android:background="@null">--> |
|||
|
|||
<!-- <LinearLayout--> |
|||
<!-- android:layout_width="match_parent"--> |
|||
<!-- android:layout_height="wrap_content"--> |
|||
<!-- android:orientation="vertical">--> |
|||
|
|||
<!-- <awais.instagrabber.customviews.RamboTextViewV2--> |
|||
<!-- android:id="@+id/caption"--> |
|||
<!-- android:layout_width="match_parent"--> |
|||
<!-- android:layout_height="wrap_content"--> |
|||
<!-- android:layout_gravity="bottom"--> |
|||
<!-- android:background="@null"--> |
|||
<!-- android:clickable="true"--> |
|||
<!-- android:focusable="true"--> |
|||
<!-- android:padding="16dp"--> |
|||
<!-- android:textAppearance="@style/TextAppearance.MaterialComponents.Body1"--> |
|||
<!-- android:textColor="@color/white"--> |
|||
<!-- tools:text="Text text text" />--> |
|||
|
|||
<!-- <!–<androidx.appcompat.widget.AppCompatTextView–>--> |
|||
<!-- <!– android:id="@+id/editCaption"–>--> |
|||
<!-- <!– android:layout_width="match_parent"–>--> |
|||
<!-- <!– android:layout_height="wrap_content"–>--> |
|||
<!-- <!– android:layout_marginStart="16dp"–>--> |
|||
<!-- <!– android:layout_marginTop="8dp"–>--> |
|||
<!-- <!– android:background="@null"–>--> |
|||
<!-- <!– android:gravity="center_vertical"–>--> |
|||
<!-- <!– android:text="@string/edit_caption"–>--> |
|||
<!-- <!– android:textColor="?android:textColorSecondary"–>--> |
|||
<!-- <!– android:textSize="16sp"–>--> |
|||
<!-- <!– android:visibility="gone"–>--> |
|||
<!-- <!– app:layout_constraintBottom_toTopOf="@id/translatedCaption"–>--> |
|||
<!-- <!– app:layout_constraintTop_toBottomOf="@id/caption"–>--> |
|||
<!-- <!– tools:visibility="visible" />–>--> |
|||
|
|||
<!-- <androidx.appcompat.widget.AppCompatTextView--> |
|||
<!-- android:id="@+id/translate"--> |
|||
<!-- android:layout_width="match_parent"--> |
|||
<!-- android:layout_height="wrap_content"--> |
|||
<!-- android:background="@null"--> |
|||
<!-- android:gravity="center_vertical"--> |
|||
<!-- android:paddingStart="16dp"--> |
|||
<!-- android:paddingTop="8dp"--> |
|||
<!-- android:paddingEnd="16dp"--> |
|||
<!-- android:paddingBottom="8dp"--> |
|||
<!-- android:text="@string/translate_caption"--> |
|||
<!-- android:textColor="@color/blue_600"--> |
|||
<!-- android:textSize="16sp"--> |
|||
<!-- android:visibility="visible" />--> |
|||
|
|||
<!-- <!–<awais.instagrabber.customviews.RamboTextViewV2–>--> |
|||
<!-- <!– android:id="@+id/translatedCaption"–>--> |
|||
<!-- <!– android:layout_width="match_parent"–>--> |
|||
<!-- <!– android:layout_height="wrap_content"–>--> |
|||
<!-- <!– android:layout_gravity="bottom"–>--> |
|||
<!-- <!– android:background="@null"–>--> |
|||
<!-- <!– android:clickable="true"–>--> |
|||
<!-- <!– android:focusable="true"–>--> |
|||
<!-- <!– android:padding="16dp"–>--> |
|||
<!-- <!– android:textAppearance="@style/TextAppearance.MaterialComponents.Body1"–>--> |
|||
<!-- <!– android:textColor="@color/white"–>--> |
|||
<!-- <!– android:visibility="gone"–>--> |
|||
<!-- <!– app:layout_constraintBottom_toBottomOf="parent"–>--> |
|||
<!-- <!– app:layout_constraintTop_toBottomOf="@id/translateTitle"–>--> |
|||
<!-- <!– tools:text="Text text text"–>--> |
|||
<!-- <!– tools:visibility="visible" />–>--> |
|||
<!-- </LinearLayout>--> |
|||
<!-- </ScrollView>--> |
|||
<!-- </androidx.core.widget.NestedScrollView>--> |
|||
<!--</androidx.coordinatorlayout.widget.CoordinatorLayout>--> |
|||
|
|||
<!--<include--> |
|||
<!-- android:id="@+id/player_controls"--> |
|||
<!-- layout="@layout/layout_exo_custom_controls"--> |
|||
<!-- android:layout_width="0dp"--> |
|||
<!-- android:layout_height="wrap_content"--> |
|||
<!-- android:visibility="gone"--> |
|||
<!-- app:layout_constraintBottom_toTopOf="@id/bottom_bg_barrier"--> |
|||
<!-- app:layout_constraintEnd_toEndOf="parent"--> |
|||
<!-- app:layout_constraintStart_toStartOf="parent"--> |
|||
<!-- tools:visibility="gone" />--> |
|||
|
|||
<View |
|||
android:id="@+id/bottom_bg" |
|||
android:layout_width="0dp" |
|||
android:layout_height="0dp" |
|||
app:layout_constraintBottom_toBottomOf="parent" |
|||
app:layout_constraintEnd_toEndOf="parent" |
|||
app:layout_constraintStart_toStartOf="parent" |
|||
app:layout_constraintTop_toTopOf="@id/bottom_bg_barrier" /> |
|||
|
|||
<androidx.constraintlayout.widget.Barrier |
|||
android:id="@+id/bottom_bg_barrier" |
|||
android:layout_width="match_parent" |
|||
android:layout_height="wrap_content" |
|||
app:barrierAllowsGoneWidgets="true" |
|||
app:barrierDirection="top" |
|||
app:constraint_referenced_ids="likes_count,comments_count,views_count" /> |
|||
|
|||
<androidx.appcompat.widget.AppCompatTextView |
|||
android:id="@+id/date" |
|||
android:layout_width="match_parent" |
|||
android:layout_height="wrap_content" |
|||
android:padding="8dp" |
|||
android:textColor="@color/white" |
|||
app:layout_constraintBottom_toBottomOf="@id/buttons_barrier" |
|||
app:layout_constraintTop_toBottomOf="@id/counts_barrier" |
|||
tools:text="2020-11-07 11:18:55" |
|||
tools:visibility="visible" /> |
|||
|
|||
<androidx.constraintlayout.widget.Barrier |
|||
android:id="@+id/buttons_barrier" |
|||
android:layout_width="wrap_content" |
|||
android:layout_height="wrap_content" |
|||
app:barrierAllowsGoneWidgets="true" |
|||
app:barrierDirection="bottom" |
|||
app:constraint_referenced_ids="date" /> |
|||
|
|||
<com.google.android.material.button.MaterialButton |
|||
android:id="@+id/caption_toggle" |
|||
style="@style/Widget.MaterialComponents.Button.TextButton" |
|||
android:layout_width="0dp" |
|||
android:layout_height="48dp" |
|||
android:visibility="visible" |
|||
app:icon="@drawable/ic_notes_24" |
|||
app:iconGravity="textStart" |
|||
app:iconPadding="0dp" |
|||
app:iconSize="24dp" |
|||
app:iconTint="@color/white" |
|||
app:layout_constraintBottom_toBottomOf="parent" |
|||
app:layout_constraintEnd_toStartOf="@id/like" |
|||
app:layout_constraintStart_toStartOf="parent" |
|||
app:layout_constraintTop_toBottomOf="@id/buttons_barrier" |
|||
app:rippleColor="@color/grey_300" |
|||
tools:visibility="visible" /> |
|||
|
|||
<com.google.android.material.button.MaterialButton |
|||
android:id="@+id/like" |
|||
style="@style/Widget.MaterialComponents.Button.TextButton" |
|||
android:layout_width="0dp" |
|||
android:layout_height="48dp" |
|||
android:visibility="visible" |
|||
app:icon="@drawable/ic_not_liked" |
|||
app:iconGravity="textStart" |
|||
app:iconPadding="0dp" |
|||
app:iconSize="24dp" |
|||
app:iconTint="@color/white" |
|||
app:layout_constraintBottom_toBottomOf="parent" |
|||
app:layout_constraintEnd_toStartOf="@id/comment" |
|||
app:layout_constraintStart_toEndOf="@id/caption_toggle" |
|||
app:layout_constraintTop_toBottomOf="@id/buttons_barrier" |
|||
app:rippleColor="@color/grey_300" |
|||
tools:visibility="visible" /> |
|||
|
|||
<com.google.android.material.button.MaterialButton |
|||
android:id="@+id/comment" |
|||
style="@style/Widget.MaterialComponents.Button.TextButton" |
|||
android:layout_width="0dp" |
|||
android:layout_height="48dp" |
|||
android:visibility="visible" |
|||
app:icon="@drawable/ic_outline_comments_24" |
|||
app:iconGravity="textStart" |
|||
app:iconPadding="0dp" |
|||
app:iconSize="24dp" |
|||
app:iconTint="@color/white" |
|||
app:layout_constraintBottom_toBottomOf="parent" |
|||
app:layout_constraintEnd_toStartOf="@id/save" |
|||
app:layout_constraintStart_toEndOf="@id/like" |
|||
app:layout_constraintTop_toBottomOf="@id/buttons_barrier" |
|||
app:rippleColor="@color/grey_300" |
|||
tools:visibility="visible" /> |
|||
|
|||
<!--<com.google.android.material.button.MaterialButton--> |
|||
<!-- android:id="@+id/player_controls_toggle"--> |
|||
<!-- style="@style/Widget.MaterialComponents.Button.TextButton"--> |
|||
<!-- android:layout_width="0dp"--> |
|||
<!-- android:layout_height="48dp"--> |
|||
<!-- android:visibility="gone"--> |
|||
<!-- app:icon="@drawable/ic_play_circle_outline_24"--> |
|||
<!-- app:iconGravity="textStart"--> |
|||
<!-- app:iconPadding="0dp"--> |
|||
<!-- app:iconSize="24dp"--> |
|||
<!-- app:iconTint="@color/white"--> |
|||
<!-- app:layout_constraintBottom_toBottomOf="parent"--> |
|||
<!-- app:layout_constraintEnd_toStartOf="@id/save"--> |
|||
<!-- app:layout_constraintStart_toEndOf="@id/comment"--> |
|||
<!-- app:layout_constraintTop_toBottomOf="@id/buttons_barrier"--> |
|||
<!-- app:rippleColor="@color/grey_300"--> |
|||
<!-- tools:visibility="visible" />--> |
|||
|
|||
<com.google.android.material.button.MaterialButton |
|||
android:id="@+id/save" |
|||
style="@style/Widget.MaterialComponents.Button.TextButton" |
|||
android:layout_width="0dp" |
|||
android:layout_height="48dp" |
|||
android:visibility="visible" |
|||
app:icon="@drawable/ic_outline_class_24" |
|||
app:iconGravity="textStart" |
|||
app:iconPadding="0dp" |
|||
app:iconSize="24dp" |
|||
app:iconTint="@color/white" |
|||
app:layout_constraintBottom_toBottomOf="parent" |
|||
app:layout_constraintEnd_toStartOf="@id/share" |
|||
app:layout_constraintStart_toEndOf="@id/comment" |
|||
app:layout_constraintTop_toBottomOf="@id/buttons_barrier" |
|||
app:rippleColor="@color/grey_300" |
|||
tools:visibility="visible" /> |
|||
|
|||
<com.google.android.material.button.MaterialButton |
|||
android:id="@+id/share" |
|||
style="@style/Widget.MaterialComponents.Button.TextButton" |
|||
android:layout_width="0dp" |
|||
android:layout_height="48dp" |
|||
android:visibility="visible" |
|||
app:icon="?attr/actionModeShareDrawable" |
|||
app:iconGravity="textStart" |
|||
app:iconPadding="0dp" |
|||
app:iconSize="24dp" |
|||
app:iconTint="@color/white" |
|||
app:layout_constraintBottom_toBottomOf="parent" |
|||
app:layout_constraintEnd_toStartOf="@id/download" |
|||
app:layout_constraintStart_toEndOf="@id/save" |
|||
app:layout_constraintTop_toBottomOf="@id/buttons_barrier" |
|||
app:rippleColor="@color/grey_300" |
|||
tools:visibility="visible" /> |
|||
|
|||
<com.google.android.material.button.MaterialButton |
|||
android:id="@+id/download" |
|||
style="@style/Widget.MaterialComponents.Button.TextButton" |
|||
android:layout_width="0dp" |
|||
android:layout_height="48dp" |
|||
android:visibility="visible" |
|||
app:icon="@drawable/ic_download" |
|||
app:iconGravity="textStart" |
|||
app:iconPadding="0dp" |
|||
app:iconSize="24dp" |
|||
app:iconTint="@color/white" |
|||
app:layout_constraintBottom_toBottomOf="parent" |
|||
app:layout_constraintEnd_toEndOf="parent" |
|||
app:layout_constraintStart_toEndOf="@id/share" |
|||
app:layout_constraintTop_toBottomOf="@id/buttons_barrier" |
|||
app:rippleColor="@color/grey_300" |
|||
tools:visibility="visible" /> |
|||
|
|||
</androidx.constraintlayout.widget.ConstraintLayout> |
|||
<androidx.appcompat.widget.AppCompatTextView |
|||
android:id="@+id/likes_count" |
|||
android:layout_width="wrap_content" |
|||
android:layout_height="wrap_content" |
|||
android:padding="8dp" |
|||
app:layout_constraintBottom_toTopOf="@id/counts_barrier" |
|||
app:layout_constraintEnd_toStartOf="@id/comments_count" |
|||
app:layout_constraintHorizontal_bias="0" |
|||
app:layout_constraintStart_toStartOf="parent" |
|||
app:layout_constraintTop_toBottomOf="@id/bottom_bg_barrier" |
|||
tools:text="9999999999 likes" |
|||
tools:visibility="gone" /> |
|||
|
|||
<androidx.appcompat.widget.AppCompatTextView |
|||
android:id="@+id/comments_count" |
|||
android:layout_width="wrap_content" |
|||
android:layout_height="wrap_content" |
|||
android:padding="8dp" |
|||
app:layout_constraintBottom_toTopOf="@id/counts_barrier" |
|||
app:layout_constraintEnd_toStartOf="@id/views_count" |
|||
app:layout_constraintHorizontal_bias="0" |
|||
app:layout_constraintStart_toEndOf="@id/likes_count" |
|||
app:layout_constraintTop_toBottomOf="@id/bottom_bg_barrier" |
|||
tools:text="9999999 comments" |
|||
tools:visibility="gone" /> |
|||
|
|||
<androidx.appcompat.widget.AppCompatTextView |
|||
android:id="@+id/views_count" |
|||
android:layout_width="0dp" |
|||
android:layout_height="wrap_content" |
|||
android:padding="8dp" |
|||
app:layout_constraintBottom_toTopOf="@id/counts_barrier" |
|||
app:layout_constraintEnd_toEndOf="parent" |
|||
app:layout_constraintStart_toEndOf="@id/comments_count" |
|||
app:layout_constraintTop_toBottomOf="@id/bottom_bg_barrier" |
|||
tools:text="9999999999 views" |
|||
tools:visibility="gone" /> |
|||
|
|||
<androidx.constraintlayout.widget.Barrier |
|||
android:id="@+id/counts_barrier" |
|||
android:layout_width="match_parent" |
|||
android:layout_height="wrap_content" |
|||
app:barrierAllowsGoneWidgets="true" |
|||
app:barrierDirection="top" |
|||
app:constraint_referenced_ids="date" /> |
|||
|
|||
<androidx.appcompat.widget.AppCompatTextView |
|||
android:id="@+id/date" |
|||
android:layout_width="match_parent" |
|||
android:layout_height="wrap_content" |
|||
android:padding="8dp" |
|||
app:layout_constraintBottom_toBottomOf="@id/buttons_barrier" |
|||
app:layout_constraintTop_toBottomOf="@id/counts_barrier" |
|||
tools:text="2020-11-07 11:18:55" |
|||
tools:visibility="visible" /> |
|||
|
|||
<androidx.constraintlayout.widget.Barrier |
|||
android:id="@+id/buttons_barrier" |
|||
android:layout_width="wrap_content" |
|||
android:layout_height="wrap_content" |
|||
app:barrierAllowsGoneWidgets="true" |
|||
app:barrierDirection="bottom" |
|||
app:constraint_referenced_ids="date" /> |
|||
|
|||
<!--<com.google.android.material.button.MaterialButton--> |
|||
<!-- android:id="@+id/caption_toggle"--> |
|||
<!-- style="@style/Widget.MaterialComponents.Button.TextButton"--> |
|||
<!-- android:layout_width="0dp"--> |
|||
<!-- android:layout_height="48dp"--> |
|||
<!-- android:visibility="visible"--> |
|||
<!-- app:icon="@drawable/ic_notes_24"--> |
|||
<!-- app:iconGravity="textStart"--> |
|||
<!-- app:iconPadding="0dp"--> |
|||
<!-- app:iconSize="24dp"--> |
|||
<!-- app:layout_constraintBottom_toTopOf="@id/caption_barrier"--> |
|||
<!-- app:layout_constraintEnd_toStartOf="@id/like"--> |
|||
<!-- app:layout_constraintStart_toStartOf="parent"--> |
|||
<!-- app:layout_constraintTop_toBottomOf="@id/buttons_barrier"--> |
|||
<!-- tools:visibility="visible" />--> |
|||
|
|||
<com.google.android.material.button.MaterialButton |
|||
android:id="@+id/like" |
|||
style="@style/Widget.MaterialComponents.Button.TextButton" |
|||
android:layout_width="0dp" |
|||
android:layout_height="48dp" |
|||
android:visibility="visible" |
|||
app:icon="@drawable/ic_not_liked" |
|||
app:iconGravity="textStart" |
|||
app:iconPadding="0dp" |
|||
app:iconSize="24dp" |
|||
app:layout_constraintBottom_toTopOf="@id/caption_barrier" |
|||
app:layout_constraintEnd_toStartOf="@id/comment" |
|||
app:layout_constraintStart_toStartOf="parent" |
|||
app:layout_constraintTop_toBottomOf="@id/buttons_barrier" |
|||
tools:visibility="visible" /> |
|||
|
|||
<com.google.android.material.button.MaterialButton |
|||
android:id="@+id/comment" |
|||
style="@style/Widget.MaterialComponents.Button.TextButton" |
|||
android:layout_width="0dp" |
|||
android:layout_height="48dp" |
|||
android:visibility="visible" |
|||
app:icon="@drawable/ic_outline_comments_24" |
|||
app:iconGravity="textStart" |
|||
app:iconPadding="0dp" |
|||
app:iconSize="24dp" |
|||
app:layout_constraintBottom_toTopOf="@id/caption_barrier" |
|||
app:layout_constraintEnd_toStartOf="@id/save" |
|||
app:layout_constraintStart_toEndOf="@id/like" |
|||
app:layout_constraintTop_toBottomOf="@id/buttons_barrier" |
|||
tools:visibility="visible" /> |
|||
|
|||
<!--<com.google.android.material.button.MaterialButton--> |
|||
<!-- android:id="@+id/player_controls_toggle"--> |
|||
<!-- style="@style/Widget.MaterialComponents.Button.TextButton"--> |
|||
<!-- android:layout_width="0dp"--> |
|||
<!-- android:layout_height="48dp"--> |
|||
<!-- android:visibility="gone"--> |
|||
<!-- app:icon="@drawable/ic_play_circle_outline_24"--> |
|||
<!-- app:iconGravity="textStart"--> |
|||
<!-- app:iconPadding="0dp"--> |
|||
<!-- app:iconSize="24dp"--> |
|||
<!-- app:iconTint="@color/white"--> |
|||
<!-- app:layout_constraintBottom_toBottomOf="parent"--> |
|||
<!-- app:layout_constraintEnd_toStartOf="@id/save"--> |
|||
<!-- app:layout_constraintStart_toEndOf="@id/comment"--> |
|||
<!-- app:layout_constraintTop_toBottomOf="@id/buttons_barrier"--> |
|||
<!-- app:rippleColor="@color/grey_300"--> |
|||
<!-- tools:visibility="visible" />--> |
|||
|
|||
<com.google.android.material.button.MaterialButton |
|||
android:id="@+id/save" |
|||
style="@style/Widget.MaterialComponents.Button.TextButton" |
|||
android:layout_width="0dp" |
|||
android:layout_height="48dp" |
|||
android:visibility="visible" |
|||
app:icon="@drawable/ic_outline_class_24" |
|||
app:iconGravity="textStart" |
|||
app:iconPadding="0dp" |
|||
app:iconSize="24dp" |
|||
app:layout_constraintBottom_toTopOf="@id/caption_barrier" |
|||
app:layout_constraintEnd_toStartOf="@id/share" |
|||
app:layout_constraintStart_toEndOf="@id/comment" |
|||
app:layout_constraintTop_toBottomOf="@id/buttons_barrier" |
|||
tools:visibility="visible" /> |
|||
|
|||
<com.google.android.material.button.MaterialButton |
|||
android:id="@+id/share" |
|||
style="@style/Widget.MaterialComponents.Button.TextButton" |
|||
android:layout_width="0dp" |
|||
android:layout_height="48dp" |
|||
android:visibility="visible" |
|||
app:icon="?attr/actionModeShareDrawable" |
|||
app:iconGravity="textStart" |
|||
app:iconPadding="0dp" |
|||
app:iconSize="24dp" |
|||
app:layout_constraintBottom_toTopOf="@id/caption_barrier" |
|||
app:layout_constraintEnd_toStartOf="@id/download" |
|||
app:layout_constraintStart_toEndOf="@id/save" |
|||
app:layout_constraintTop_toBottomOf="@id/buttons_barrier" |
|||
tools:visibility="visible" /> |
|||
|
|||
<com.google.android.material.button.MaterialButton |
|||
android:id="@+id/download" |
|||
style="@style/Widget.MaterialComponents.Button.TextButton" |
|||
android:layout_width="0dp" |
|||
android:layout_height="48dp" |
|||
android:visibility="visible" |
|||
app:icon="@drawable/ic_download" |
|||
app:iconGravity="textStart" |
|||
app:iconPadding="0dp" |
|||
app:iconSize="24dp" |
|||
app:layout_constraintBottom_toTopOf="@id/caption_barrier" |
|||
app:layout_constraintEnd_toEndOf="parent" |
|||
app:layout_constraintStart_toEndOf="@id/share" |
|||
app:layout_constraintTop_toBottomOf="@id/buttons_barrier" |
|||
tools:visibility="visible" /> |
|||
|
|||
<androidx.constraintlayout.widget.Barrier |
|||
android:id="@+id/caption_barrier" |
|||
android:layout_width="0dp" |
|||
android:layout_height="0dp" |
|||
app:barrierAllowsGoneWidgets="true" |
|||
app:barrierDirection="bottom" |
|||
app:constraint_referenced_ids="like,comment,save,share,download" /> |
|||
|
|||
<awais.instagrabber.customviews.RamboTextViewV2 |
|||
android:id="@+id/caption" |
|||
android:layout_width="match_parent" |
|||
android:layout_height="wrap_content" |
|||
android:layout_gravity="bottom" |
|||
android:background="@null" |
|||
android:clickable="true" |
|||
android:focusable="true" |
|||
android:padding="8dp" |
|||
android:textAppearance="@style/TextAppearance.MaterialComponents.Body1" |
|||
app:layout_constraintBottom_toTopOf="@id/translate" |
|||
app:layout_constraintTop_toBottomOf="@id/caption_barrier" |
|||
tools:text="Text text text Text text text Text text text Text text text Text text text" |
|||
tools:visibility="gone" /> |
|||
|
|||
<androidx.appcompat.widget.AppCompatTextView |
|||
android:id="@+id/translate" |
|||
android:layout_width="match_parent" |
|||
android:layout_height="wrap_content" |
|||
android:background="@null" |
|||
android:gravity="center_vertical" |
|||
android:padding="8dp" |
|||
android:text="@string/translate_caption" |
|||
android:textColor="@color/blue_600" |
|||
android:textSize="16sp" |
|||
android:visibility="visible" |
|||
app:layout_constraintBottom_toBottomOf="parent" |
|||
app:layout_constraintTop_toBottomOf="@id/caption" /> |
|||
|
|||
</androidx.constraintlayout.widget.ConstraintLayout> |
|||
</androidx.core.widget.NestedScrollView> |
@ -1,40 +1,39 @@ |
|||
<?xml version="1.0" encoding="utf-8"?> |
|||
<androidx.coordinatorlayout.widget.CoordinatorLayout xmlns:android="http://schemas.android.com/apk/res/android" |
|||
<androidx.constraintlayout.motion.widget.MotionLayout 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" |
|||
android:background="?attr/colorSurface"> |
|||
android:background="?attr/colorSurface" |
|||
app:layoutDescription="@xml/header_list_scene"> |
|||
|
|||
<!--<com.google.android.material.appbar.AppBarLayout--> |
|||
<!-- android:id="@+id/stories_container"--> |
|||
<!-- android:layout_width="match_parent"--> |
|||
<!-- android:layout_height="wrap_content">--> |
|||
|
|||
<!-- <com.google.android.material.appbar.CollapsingToolbarLayout--> |
|||
<!-- android:layout_width="match_parent"--> |
|||
<!-- android:layout_height="wrap_content"--> |
|||
<!-- app:layout_scrollFlags="scroll|snap">--> |
|||
|
|||
<!--<androidx.recyclerview.widget.RecyclerView--> |
|||
<!-- android:id="@+id/feed_stories_recycler_view"--> |
|||
<!-- android:layout_width="match_parent"--> |
|||
<!-- android:layout_height="wrap_content"--> |
|||
<!-- android:clipToPadding="false" />--> |
|||
<!-- </com.google.android.material.appbar.CollapsingToolbarLayout>--> |
|||
<!--</com.google.android.material.appbar.AppBarLayout>--> |
|||
<androidx.recyclerview.widget.RecyclerView |
|||
android:id="@+id/header" |
|||
android:layout_width="match_parent" |
|||
android:layout_height="wrap_content" |
|||
android:background="?attr/toolbarColor" |
|||
android:clipToPadding="false" |
|||
android:orientation="horizontal" |
|||
app:layout_constraintBottom_toTopOf="@id/feed_swipe_refresh_layout" |
|||
app:layout_constraintTop_toTopOf="parent" |
|||
tools:layoutManager="androidx.recyclerview.widget.LinearLayoutManager" |
|||
tools:listitem="@layout/item_highlight" /> |
|||
|
|||
<androidx.swiperefreshlayout.widget.SwipeRefreshLayout |
|||
android:id="@+id/feed_swipe_refresh_layout" |
|||
android:layout_width="match_parent" |
|||
android:layout_height="match_parent" |
|||
app:layout_behavior="@string/appbar_scrolling_view_behavior"> |
|||
android:layout_height="0dp" |
|||
android:clipToPadding="false" |
|||
app:layout_behavior="@string/appbar_scrolling_view_behavior" |
|||
app:layout_constraintBottom_toBottomOf="parent" |
|||
app:layout_constraintTop_toBottomOf="@id/header"> |
|||
|
|||
<awais.instagrabber.customviews.PostsRecyclerView |
|||
android:id="@+id/feed_recycler_view" |
|||
android:layout_width="match_parent" |
|||
android:layout_height="match_parent" |
|||
android:clipToPadding="false" |
|||
tools:listitem="@layout/item_feed_photo" /> |
|||
android:paddingBottom="?attr/actionBarSize" |
|||
tools:listitem="@layout/item_feed_grid" /> |
|||
</androidx.swiperefreshlayout.widget.SwipeRefreshLayout> |
|||
</androidx.coordinatorlayout.widget.CoordinatorLayout> |
|||
</androidx.constraintlayout.motion.widget.MotionLayout> |
@ -1,20 +1,32 @@ |
|||
<?xml version="1.0" encoding="utf-8"?> |
|||
<androidx.coordinatorlayout.widget.CoordinatorLayout xmlns:android="http://schemas.android.com/apk/res/android" |
|||
<androidx.constraintlayout.motion.widget.MotionLayout xmlns:android="http://schemas.android.com/apk/res/android" |
|||
xmlns:app="http://schemas.android.com/apk/res-auto" |
|||
android:layout_width="match_parent" |
|||
android:layout_height="match_parent" |
|||
android:background="?attr/colorSurface"> |
|||
android:background="?attr/colorSurface" |
|||
app:layoutDescription="@xml/header_list_scene"> |
|||
|
|||
<include |
|||
android:id="@+id/header" |
|||
layout="@layout/layout_hashtag_details" |
|||
android:layout_width="match_parent" |
|||
android:layout_height="wrap_content" |
|||
app:layout_constraintBottom_toTopOf="@id/swipe_refresh_layout" |
|||
app:layout_constraintTop_toTopOf="parent" /> |
|||
|
|||
<androidx.swiperefreshlayout.widget.SwipeRefreshLayout |
|||
android:id="@+id/swipe_refresh_layout" |
|||
android:layout_width="match_parent" |
|||
android:layout_height="match_parent" |
|||
app:layout_behavior="@string/appbar_scrolling_view_behavior"> |
|||
android:layout_height="0dp" |
|||
app:layout_behavior="@string/appbar_scrolling_view_behavior" |
|||
app:layout_constraintBottom_toBottomOf="parent" |
|||
app:layout_constraintTop_toBottomOf="@id/header"> |
|||
|
|||
<awais.instagrabber.customviews.PostsRecyclerView |
|||
android:id="@+id/posts" |
|||
android:layout_width="match_parent" |
|||
android:layout_height="match_parent" |
|||
android:clipToPadding="false" /> |
|||
android:clipToPadding="false" |
|||
android:paddingBottom="?attr/actionBarSize" /> |
|||
</androidx.swiperefreshlayout.widget.SwipeRefreshLayout> |
|||
</androidx.coordinatorlayout.widget.CoordinatorLayout> |
|||
</androidx.constraintlayout.motion.widget.MotionLayout> |
@ -1,20 +1,32 @@ |
|||
<?xml version="1.0" encoding="utf-8"?> |
|||
<androidx.coordinatorlayout.widget.CoordinatorLayout xmlns:android="http://schemas.android.com/apk/res/android" |
|||
<androidx.constraintlayout.motion.widget.MotionLayout xmlns:android="http://schemas.android.com/apk/res/android" |
|||
xmlns:app="http://schemas.android.com/apk/res-auto" |
|||
android:layout_width="match_parent" |
|||
android:layout_height="match_parent" |
|||
android:background="?attr/colorSurface"> |
|||
android:background="?attr/colorSurface" |
|||
app:layoutDescription="@xml/header_list_scene"> |
|||
|
|||
<include |
|||
android:id="@+id/header" |
|||
layout="@layout/layout_location_details" |
|||
android:layout_width="match_parent" |
|||
android:layout_height="wrap_content" |
|||
app:layout_constraintBottom_toTopOf="@id/swipe_refresh_layout" |
|||
app:layout_constraintTop_toTopOf="parent" /> |
|||
|
|||
<androidx.swiperefreshlayout.widget.SwipeRefreshLayout |
|||
android:id="@+id/swipe_refresh_layout" |
|||
android:layout_width="match_parent" |
|||
android:layout_height="match_parent" |
|||
app:layout_behavior="@string/appbar_scrolling_view_behavior"> |
|||
android:layout_height="0dp" |
|||
app:layout_behavior="@string/appbar_scrolling_view_behavior" |
|||
app:layout_constraintBottom_toBottomOf="parent" |
|||
app:layout_constraintTop_toBottomOf="@id/header"> |
|||
|
|||
<awais.instagrabber.customviews.PostsRecyclerView |
|||
android:id="@+id/posts" |
|||
android:layout_width="match_parent" |
|||
android:layout_height="match_parent" |
|||
android:clipToPadding="false" /> |
|||
android:clipToPadding="false" |
|||
android:paddingBottom="?attr/actionBarSize" /> |
|||
</androidx.swiperefreshlayout.widget.SwipeRefreshLayout> |
|||
</androidx.coordinatorlayout.widget.CoordinatorLayout> |
|||
</androidx.constraintlayout.motion.widget.MotionLayout> |
@ -0,0 +1,5 @@ |
|||
<?xml version="1.0" encoding="utf-8"?> |
|||
<resources> |
|||
<drawable name="exo_styled_controls_play">@drawable/ic_play_arrow_24</drawable> |
|||
<drawable name="exo_styled_controls_pause">@drawable/ic_pause_24</drawable> |
|||
</resources> |
@ -0,0 +1,32 @@ |
|||
<?xml version="1.0" encoding="utf-8"?> |
|||
<MotionScene xmlns:android="http://schemas.android.com/apk/res/android" |
|||
xmlns:motion="http://schemas.android.com/apk/res-auto"> |
|||
<ConstraintSet android:id="@+id/start"> |
|||
<Constraint |
|||
android:id="@+id/header" |
|||
android:layout_width="0dp" |
|||
android:layout_height="wrap_content" |
|||
motion:layout_constraintEnd_toEndOf="parent" |
|||
motion:layout_constraintStart_toStartOf="parent" |
|||
motion:layout_constraintTop_toTopOf="parent" /> |
|||
</ConstraintSet> |
|||
<ConstraintSet android:id="@+id/end"> |
|||
<Constraint |
|||
android:id="@+id/header" |
|||
android:layout_width="0dp" |
|||
android:layout_height="wrap_content" |
|||
motion:layout_constraintBottom_toTopOf="parent" |
|||
motion:layout_constraintEnd_toEndOf="parent" |
|||
motion:layout_constraintStart_toStartOf="parent" /> |
|||
</ConstraintSet> |
|||
<Transition |
|||
android:id="@+id/transition" |
|||
motion:constraintSetEnd="@+id/end" |
|||
motion:constraintSetStart="@+id/start"> |
|||
<OnSwipe |
|||
motion:dragDirection="dragUp" |
|||
motion:onTouchUp="stop" |
|||
motion:touchAnchorId="@+id/header" |
|||
motion:touchAnchorSide="bottom" /> |
|||
</Transition> |
|||
</MotionScene> |
Write
Preview
Loading…
Cancel
Save
Reference in new issue