diff options
author | Alex Ning <chineseperson5@gmail.com> | 2020-07-11 14:54:29 +0000 |
---|---|---|
committer | Alex Ning <chineseperson5@gmail.com> | 2020-07-11 14:54:29 +0000 |
commit | d17408e2c9f15b95c5d5839a1c9bb1aafddc4fd0 (patch) | |
tree | 09119fe43702141f9cf986703e0cd8aa5b8ec0e3 /app/src/main/res/layout/item_post_detail_image.xml | |
parent | 98f4da3868b5caf1082347f97faea49db595091d (diff) | |
download | infinity-for-reddit-d17408e2c9f15b95c5d5839a1c9bb1aafddc4fd0.tar infinity-for-reddit-d17408e2c9f15b95c5d5839a1c9bb1aafddc4fd0.tar.gz infinity-for-reddit-d17408e2c9f15b95c5d5839a1c9bb1aafddc4fd0.tar.bz2 infinity-for-reddit-d17408e2c9f15b95c5d5839a1c9bb1aafddc4fd0.tar.lz infinity-for-reddit-d17408e2c9f15b95c5d5839a1c9bb1aafddc4fd0.tar.xz infinity-for-reddit-d17408e2c9f15b95c5d5839a1c9bb1aafddc4fd0.tar.zst infinity-for-reddit-d17408e2c9f15b95c5d5839a1c9bb1aafddc4fd0.zip |
Use SubsamplingScaleImageView and BigImageView to display images in ViewImageOrGifActivity and CommentAndPostRecyclerViewAdapter to avoid app crashing. Create another ViewModel, PostDetailGifAutoplayViewHolder in CommentAndPostRecyclerViewAdapter.
Diffstat (limited to 'app/src/main/res/layout/item_post_detail_image.xml')
-rw-r--r-- | app/src/main/res/layout/item_post_detail_image.xml | 330 |
1 files changed, 330 insertions, 0 deletions
diff --git a/app/src/main/res/layout/item_post_detail_image.xml b/app/src/main/res/layout/item_post_detail_image.xml new file mode 100644 index 00000000..b31ee7b4 --- /dev/null +++ b/app/src/main/res/layout/item_post_detail_image.xml @@ -0,0 +1,330 @@ +<?xml version="1.0" encoding="utf-8"?> +<LinearLayout 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="wrap_content" + android:orientation="vertical" + android:background="?attr/cardViewBackgroundColor"> + + <androidx.constraintlayout.widget.ConstraintLayout + android:id="@+id/constraint_layout_item_post_detail_image" + android:layout_width="match_parent" + android:layout_height="wrap_content" + android:padding="16dp"> + + <ml.docilealligator.infinityforreddit.CustomView.AspectRatioGifImageView + android:id="@+id/icon_gif_image_view_item_post_detail_image" + android:layout_width="24dp" + android:layout_height="24dp" + app:layout_constraintBottom_toBottomOf="parent" + app:layout_constraintStart_toStartOf="parent" + app:layout_constraintTop_toTopOf="parent" /> + + <TextView + android:id="@+id/subreddit_text_view_item_post_detail_image" + android:layout_width="0dp" + android:layout_height="wrap_content" + android:layout_marginStart="16dp" + android:layout_marginEnd="8dp" + android:textSize="?attr/font_default" + android:fontFamily="?attr/font_family" + android:maxLines="2" + android:ellipsize="end" + app:layout_constraintStart_toEndOf="@+id/icon_gif_image_view_item_post_detail_image" + app:layout_constraintEnd_toStartOf="@id/guideline" + app:layout_constraintTop_toTopOf="parent" + app:layout_constraintHorizontal_bias="0" /> + + <TextView + android:id="@+id/user_text_view_item_post_detail_image" + android:layout_width="0dp" + android:layout_height="wrap_content" + android:layout_marginStart="16dp" + android:layout_marginEnd="8dp" + android:textSize="?attr/font_default" + android:fontFamily="?attr/font_family" + android:maxLines="2" + android:ellipsize="end" + app:layout_constraintBottom_toTopOf="@+id/author_flair_text_view_item_post_detail_image" + app:layout_constraintStart_toEndOf="@+id/icon_gif_image_view_item_post_detail_image" + app:layout_constraintEnd_toStartOf="@id/guideline" + app:layout_constraintTop_toBottomOf="@+id/subreddit_text_view_item_post_detail_image" + app:layout_constraintHorizontal_bias="0" /> + + <TextView + android:id="@+id/author_flair_text_view_item_post_detail_image" + android:layout_width="0dp" + android:layout_height="wrap_content" + android:layout_marginStart="16dp" + android:layout_marginEnd="8dp" + android:textSize="?attr/font_12" + android:fontFamily="?attr/font_family" + android:maxLines="2" + android:ellipsize="end" + android:visibility="gone" + app:layout_constraintBottom_toBottomOf="parent" + app:layout_constraintStart_toEndOf="@+id/icon_gif_image_view_item_post_detail_image" + app:layout_constraintEnd_toStartOf="@id/guideline" + app:layout_constraintTop_toBottomOf="@+id/user_text_view_item_post_detail_image" + app:layout_constraintHorizontal_bias="0" /> + + <TextView + android:id="@+id/post_time_text_view_item_post_detail_image" + android:layout_width="0dp" + android:layout_height="wrap_content" + android:gravity="end" + android:textSize="?attr/font_default" + android:fontFamily="?attr/font_family" + app:layout_constraintHorizontal_bias="1" + app:layout_constraintBottom_toBottomOf="parent" + app:layout_constraintStart_toEndOf="@id/guideline" + app:layout_constraintEnd_toEndOf="parent" + app:layout_constraintTop_toTopOf="parent" /> + + <androidx.constraintlayout.widget.Guideline + android:id="@+id/guideline" + android:layout_width="wrap_content" + android:layout_height="wrap_content" + android:orientation="vertical" + app:layout_constraintGuide_percent="0.6" /> + + </androidx.constraintlayout.widget.ConstraintLayout> + + <TextView + android:id="@+id/title_text_view_item_post_detail_image" + android:layout_width="match_parent" + android:layout_height="wrap_content" + android:paddingStart="16dp" + android:paddingEnd="16dp" + android:textColor="?attr/primaryTextColor" + android:textSize="?attr/title_font_18" + android:fontFamily="?attr/title_font_family" + android:textIsSelectable="true" + android:enabled="true" + android:focusable="true" + android:longClickable="true" /> + + <com.nex3z.flowlayout.FlowLayout + android:layout_width="match_parent" + android:layout_height="wrap_content" + android:padding="16dp" + app:flChildSpacing="16dp" + app:flChildSpacingForLastRow="align" + app:flRowSpacing="8dp"> + + <com.libRG.CustomTextView + android:id="@+id/type_text_view_item_post_detail_image" + android:layout_width="wrap_content" + android:layout_height="wrap_content" + android:padding="4dp" + android:text="@string/image" + android:textSize="?attr/font_12" + android:fontFamily="?attr/font_family" + app:lib_setRadius="3dp" + app:lib_setRoundedView="true" + app:lib_setShape="rectangle" /> + + <com.libRG.CustomTextView + android:id="@+id/spoiler_custom_text_view_item_post_detail_image" + android:layout_width="wrap_content" + android:layout_height="wrap_content" + android:layout_gravity="center" + android:text="@string/spoiler" + android:textSize="?attr/font_12" + android:fontFamily="?attr/font_family" + android:padding="4dp" + android:visibility="gone" + app:lib_setRadius="3dp" + app:lib_setRoundedView="true" + app:lib_setShape="rectangle" /> + + <com.libRG.CustomTextView + android:id="@+id/nsfw_text_view_item_post_detail_image" + android:layout_width="wrap_content" + android:layout_height="wrap_content" + android:padding="4dp" + android:text="@string/nsfw" + android:textSize="?attr/font_12" + android:fontFamily="?attr/font_family" + android:visibility="gone" + app:lib_setRadius="3dp" + app:lib_setRoundedView="true" + app:lib_setShape="rectangle" /> + + <com.libRG.CustomTextView + android:id="@+id/flair_custom_text_view_item_post_detail_image" + android:layout_width="wrap_content" + android:layout_height="wrap_content" + android:layout_gravity="center" + android:padding="4dp" + android:textSize="?attr/font_12" + android:fontFamily="?attr/font_family" + android:visibility="gone" + app:lib_setRadius="3dp" + app:lib_setRoundedView="true" + app:lib_setShape="rectangle" /> + + <ImageView + android:id="@+id/archived_image_view_item_post_detail_image" + android:layout_width="20dp" + android:layout_height="20dp" + android:src="@drawable/ic_archive_outline" + android:visibility="gone" /> + + <ImageView + android:id="@+id/locked_image_view_item_post_detail_image" + android:layout_width="20dp" + android:layout_height="20dp" + android:src="@drawable/ic_outline_lock_24dp" + android:visibility="gone" /> + + <ImageView + android:id="@+id/crosspost_image_view_item_post_detail_image" + android:layout_width="20dp" + android:layout_height="20dp" + android:src="@drawable/crosspost" + android:visibility="gone" /> + + <TextView + android:id="@+id/awards_text_view_item_post_detail_image" + android:layout_width="wrap_content" + android:layout_height="wrap_content" + android:textSize="?attr/font_12" + android:fontFamily="?attr/font_family" + android:visibility="gone" /> + + </com.nex3z.flowlayout.FlowLayout> + + <RelativeLayout + android:id="@+id/image_view_wrapper_item_post_detail_image" + android:layout_width="match_parent" + android:layout_height="wrap_content"> + + <ml.docilealligator.infinityforreddit.CustomView.AspectRatioSubsamplingScaleImageView + android:id="@+id/image_view_item_post_detail_image" + android:layout_width="match_parent" + android:layout_height="wrap_content" + android:adjustViewBounds="true" + android:scaleType="fitStart" + app:zoomEnabled="false" + app:panEnabled="false" /> + + <RelativeLayout + android:id="@+id/load_wrapper_item_post_detail_image" + android:layout_width="match_parent" + android:layout_height="wrap_content" + android:layout_centerInParent="true"> + + <ProgressBar + android:id="@+id/progress_bar_item_post_detail_image" + android:layout_width="wrap_content" + android:layout_height="wrap_content" + android:layout_centerInParent="true" /> + + <TextView + android:id="@+id/load_image_error_text_view_item_post_detail_image" + android:layout_width="match_parent" + android:layout_height="wrap_content" + android:drawableTop="@drawable/ic_error_outline_black_24dp" + android:layout_centerInParent="true" + android:gravity="center" + android:text="@string/error_loading_image_tap_to_retry" + android:textSize="?attr/font_default" + android:fontFamily="?attr/font_family" + android:visibility="gone" /> + + </RelativeLayout> + + </RelativeLayout> + + <androidx.constraintlayout.widget.ConstraintLayout + android:layout_width="match_parent" + android:layout_height="wrap_content" + android:id="@+id/bottom_constraint_layout_item_post_detail_image"> + + <ImageView + android:id="@+id/plus_button_item_post_detail_image" + android:layout_width="wrap_content" + android:layout_height="wrap_content" + android:padding="12dp" + android:src="@drawable/ic_arrow_upward_grey_24dp" + android:tint="@android:color/tab_indicator_text" + android:background="?actionBarItemBackground" + android:clickable="true" + android:focusable="true" + app:layout_constraintTop_toTopOf="parent" + app:layout_constraintBottom_toBottomOf="parent" + app:layout_constraintStart_toStartOf="parent" /> + + <TextView + android:id="@+id/score_text_view_item_post_detail_image" + android:layout_width="64dp" + android:layout_height="wrap_content" + android:gravity="center" + android:textSize="?attr/font_12" + android:textStyle="bold" + android:fontFamily="?attr/font_family" + app:layout_constraintTop_toTopOf="parent" + app:layout_constraintBottom_toBottomOf="parent" + app:layout_constraintStart_toEndOf="@id/plus_button_item_post_detail_image" /> + + <ImageView + android:id="@+id/minus_button_item_post_detail_image" + android:layout_width="wrap_content" + android:layout_height="wrap_content" + android:padding="12dp" + android:src="@drawable/ic_arrow_downward_grey_24dp" + android:tint="@android:color/tab_indicator_text" + android:background="?actionBarItemBackground" + android:clickable="true" + android:focusable="true" + app:layout_constraintTop_toTopOf="parent" + app:layout_constraintBottom_toBottomOf="parent" + app:layout_constraintStart_toEndOf="@id/score_text_view_item_post_detail_image" /> + + <TextView + android:id="@+id/comments_count_item_post_detail_image" + android:layout_width="wrap_content" + android:layout_height="wrap_content" + android:padding="12dp" + android:gravity="center_vertical" + android:textSize="?attr/font_12" + android:textStyle="bold" + android:fontFamily="?attr/font_family" + android:drawableStart="@drawable/ic_comment_grey_24dp" + android:drawablePadding="12dp" + app:layout_constraintTop_toTopOf="parent" + app:layout_constraintBottom_toBottomOf="parent" + app:layout_constraintStart_toEndOf="@id/minus_button_item_post_detail_image" /> + + <ImageView + android:id="@+id/save_button_item_post_detail_image" + android:layout_width="wrap_content" + android:layout_height="wrap_content" + android:padding="12dp" + android:tint="@android:color/tab_indicator_text" + android:background="?actionBarItemBackground" + android:clickable="true" + android:focusable="true" + app:layout_constraintHorizontal_bias="1" + app:layout_constraintTop_toTopOf="parent" + app:layout_constraintBottom_toBottomOf="parent" + app:layout_constraintStart_toEndOf="@id/comments_count_item_post_detail_image" + app:layout_constraintEnd_toStartOf="@id/share_button_item_post_detail_image" /> + + <ImageView + android:id="@+id/share_button_item_post_detail_image" + android:layout_width="wrap_content" + android:layout_height="wrap_content" + android:padding="12dp" + android:src="@drawable/ic_share_grey_24dp" + android:background="?actionBarItemBackground" + android:clickable="true" + android:focusable="true" + app:layout_constraintTop_toTopOf="parent" + app:layout_constraintBottom_toBottomOf="parent" + app:layout_constraintEnd_toEndOf="parent" /> + + </androidx.constraintlayout.widget.ConstraintLayout> + +</LinearLayout>
\ No newline at end of file |