mirror of
https://github.com/nextcloud/android.git
synced 2024-11-28 02:17:43 +03:00
add loading shimmer for preview image
Signed-off-by: Andy Scherzinger <info@andy-scherzinger.de>
This commit is contained in:
parent
ae838f69cd
commit
a2f0d81c21
4 changed files with 93 additions and 8 deletions
1
drawable_resources/ic_image-outline.svg
Normal file
1
drawable_resources/ic_image-outline.svg
Normal file
|
@ -0,0 +1 @@
|
||||||
|
<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"><svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" version="1.1" width="24" height="24" viewBox="0 0 24 24"><path d="M19,19H5V5H19M19,3H5A2,2 0 0,0 3,5V19A2,2 0 0,0 5,21H19A2,2 0 0,0 21,19V5A2,2 0 0,0 19,3M13.96,12.29L11.21,15.83L9.25,13.47L6.5,17H17.5L13.96,12.29Z" /></svg>
|
After Width: | Height: | Size: 443 B |
|
@ -46,6 +46,7 @@ import android.view.MenuInflater;
|
||||||
import android.view.MenuItem;
|
import android.view.MenuItem;
|
||||||
import android.view.View;
|
import android.view.View;
|
||||||
import android.view.ViewGroup;
|
import android.view.ViewGroup;
|
||||||
|
import android.widget.FrameLayout;
|
||||||
import android.widget.ImageView;
|
import android.widget.ImageView;
|
||||||
import android.widget.LinearLayout;
|
import android.widget.LinearLayout;
|
||||||
import android.widget.TextView;
|
import android.widget.TextView;
|
||||||
|
@ -117,6 +118,7 @@ public class PreviewImageFragment extends FileFragment implements Injectable {
|
||||||
private TextView mMultiListMessage;
|
private TextView mMultiListMessage;
|
||||||
private TextView mMultiListHeadline;
|
private TextView mMultiListHeadline;
|
||||||
private ImageView mMultiListIcon;
|
private ImageView mMultiListIcon;
|
||||||
|
private FrameLayout mMultiListProgress;
|
||||||
|
|
||||||
private Boolean showResizedImage;
|
private Boolean showResizedImage;
|
||||||
|
|
||||||
|
@ -216,6 +218,7 @@ public class PreviewImageFragment extends FileFragment implements Injectable {
|
||||||
multiListMessage = binding.emptyList.emptyListViewText;
|
multiListMessage = binding.emptyList.emptyListViewText;
|
||||||
multiListHeadline = binding.emptyList.emptyListViewHeadline;
|
multiListHeadline = binding.emptyList.emptyListViewHeadline;
|
||||||
multiListIcon = binding.emptyList.emptyListIcon;
|
multiListIcon = binding.emptyList.emptyListIcon;
|
||||||
|
mMultiListProgress = view.findViewById(R.id.empty_list_progress);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -699,11 +702,12 @@ public class PreviewImageFragment extends FileFragment implements Injectable {
|
||||||
}
|
}
|
||||||
|
|
||||||
private void setMultiListLoadingMessage() {
|
private void setMultiListLoadingMessage() {
|
||||||
if (multiListContainer != null) {
|
if (mMultiListContainer != null) {
|
||||||
multiListHeadline.setText(R.string.file_list_loading);
|
mMultiListHeadline.setText("");
|
||||||
multiListMessage.setText("");
|
mMultiListMessage.setText("");
|
||||||
|
|
||||||
mMultiListIcon.setVisibility(View.GONE);
|
mMultiListIcon.setVisibility(View.GONE);
|
||||||
|
mMultiListProgress.setVisibility(View.VISIBLE);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -719,6 +723,7 @@ public class PreviewImageFragment extends FileFragment implements Injectable {
|
||||||
|
|
||||||
mMultiListMessage.setVisibility(View.VISIBLE);
|
mMultiListMessage.setVisibility(View.VISIBLE);
|
||||||
mMultiListIcon.setVisibility(View.VISIBLE);
|
mMultiListIcon.setVisibility(View.VISIBLE);
|
||||||
|
mMultiListProgress.setVisibility(View.GONE);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
8
src/main/res/drawable/ic_image_outline.xml
Normal file
8
src/main/res/drawable/ic_image_outline.xml
Normal file
|
@ -0,0 +1,8 @@
|
||||||
|
<!-- drawable/image_outline.xml -->
|
||||||
|
<vector xmlns:android="http://schemas.android.com/apk/res/android"
|
||||||
|
android:height="24dp"
|
||||||
|
android:width="24dp"
|
||||||
|
android:viewportWidth="24"
|
||||||
|
android:viewportHeight="24">
|
||||||
|
<path android:fillColor="#000" android:pathData="M19,19H5V5H19M19,3H5A2,2 0 0,0 3,5V19A2,2 0 0,0 5,21H19A2,2 0 0,0 21,19V5A2,2 0 0,0 19,3M13.96,12.29L11.21,15.83L9.25,13.47L6.5,17H17.5L13.96,12.29Z" />
|
||||||
|
</vector>
|
|
@ -1,5 +1,4 @@
|
||||||
<?xml version="1.0" encoding="utf-8"?>
|
<?xml version="1.0" encoding="utf-8"?><!--
|
||||||
<!--
|
|
||||||
ownCloud Android client application
|
ownCloud Android client application
|
||||||
|
|
||||||
Copyright (C) 2015 ownCloud Inc.
|
Copyright (C) 2015 ownCloud Inc.
|
||||||
|
@ -19,6 +18,7 @@
|
||||||
-->
|
-->
|
||||||
|
|
||||||
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
|
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
|
||||||
|
xmlns:app="http://schemas.android.com/apk/res-auto"
|
||||||
android:id="@+id/top"
|
android:id="@+id/top"
|
||||||
android:layout_width="match_parent"
|
android:layout_width="match_parent"
|
||||||
android:layout_height="match_parent"
|
android:layout_height="match_parent"
|
||||||
|
@ -33,7 +33,78 @@
|
||||||
android:contentDescription="@string/preview_image_description"
|
android:contentDescription="@string/preview_image_description"
|
||||||
android:src="@drawable/image_fail" />
|
android:src="@drawable/image_fail" />
|
||||||
|
|
||||||
<include
|
<LinearLayout
|
||||||
android:id="@+id/emptyList"
|
android:id="@+id/empty_list_view"
|
||||||
layout="@layout/empty_list" />
|
android:layout_width="match_parent"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
|
android:layout_gravity="center"
|
||||||
|
android:layout_margin="@dimen/standard_margin"
|
||||||
|
android:gravity="center_vertical|center_horizontal"
|
||||||
|
android:orientation="vertical"
|
||||||
|
android:paddingBottom="@dimen/standard_double_margin">
|
||||||
|
|
||||||
|
<ImageView
|
||||||
|
android:id="@+id/empty_list_icon"
|
||||||
|
android:layout_width="@dimen/empty_list_icon_layout_width"
|
||||||
|
android:layout_height="@dimen/empty_list_icon_layout_height"
|
||||||
|
android:contentDescription="@string/file_list_folder"
|
||||||
|
android:src="@drawable/ic_list_empty_folder"
|
||||||
|
android:visibility="gone" />
|
||||||
|
|
||||||
|
<FrameLayout
|
||||||
|
android:id="@+id/empty_list_progress"
|
||||||
|
android:layout_width="wrap_content"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
|
android:visibility="gone">
|
||||||
|
|
||||||
|
<com.elyeproj.loaderviewlibrary.LoaderImageView
|
||||||
|
android:layout_width="@dimen/empty_list_icon_layout_width"
|
||||||
|
android:layout_height="@dimen/empty_list_icon_layout_width"
|
||||||
|
android:layout_gravity="center_horizontal"
|
||||||
|
android:contentDescription="@null"
|
||||||
|
app:corners="24" />
|
||||||
|
|
||||||
|
<ImageView
|
||||||
|
android:layout_width="@dimen/empty_list_icon_layout_width"
|
||||||
|
android:layout_height="@dimen/empty_list_icon_layout_height"
|
||||||
|
android:contentDescription="@null"
|
||||||
|
android:src="@drawable/ic_image_outline"
|
||||||
|
app:tint="@color/fg_inverse" />
|
||||||
|
|
||||||
|
</FrameLayout>
|
||||||
|
|
||||||
|
<TextView
|
||||||
|
android:id="@+id/empty_list_view_headline"
|
||||||
|
android:layout_width="match_parent"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
|
android:layout_gravity="center_horizontal"
|
||||||
|
android:ellipsize="end"
|
||||||
|
android:gravity="center"
|
||||||
|
android:maxLines="2"
|
||||||
|
android:paddingTop="@dimen/standard_padding"
|
||||||
|
android:paddingBottom="@dimen/standard_half_padding"
|
||||||
|
android:text="@string/file_list_loading"
|
||||||
|
android:textSize="26sp" />
|
||||||
|
|
||||||
|
<TextView
|
||||||
|
android:id="@+id/empty_list_view_text"
|
||||||
|
android:layout_width="match_parent"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
|
android:layout_gravity="center_horizontal"
|
||||||
|
android:ellipsize="end"
|
||||||
|
android:gravity="center"
|
||||||
|
android:paddingTop="@dimen/standard_half_padding"
|
||||||
|
android:paddingBottom="@dimen/standard_half_padding"
|
||||||
|
android:text="@string/file_list_empty"
|
||||||
|
android:visibility="gone" />
|
||||||
|
|
||||||
|
<com.google.android.material.button.MaterialButton
|
||||||
|
android:id="@+id/empty_list_view_action"
|
||||||
|
android:layout_width="wrap_content"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
|
android:layout_marginTop="@dimen/standard_half_margin"
|
||||||
|
android:theme="@style/Button.Primary"
|
||||||
|
android:visibility="gone"
|
||||||
|
app:cornerRadius="@dimen/button_corner_radius" />
|
||||||
|
</LinearLayout>
|
||||||
</RelativeLayout>
|
</RelativeLayout>
|
||||||
|
|
Loading…
Reference in a new issue