From 6bb1e1cd4bc517b03acef51ba509d927ee233225 Mon Sep 17 00:00:00 2001 From: stefan-niedermann Date: Thu, 12 Dec 2019 17:52:56 +0100 Subject: #224 Make reusable component for empty content views Default value handling --- .../ui/helper/emptycontentview/EmptyContentView.java | 17 ++++++++++++++--- app/src/main/res/layout/activity_main.xml | 1 - app/src/main/res/layout/fragment_stack.xml | 1 - app/src/main/res/layout/widget_empty_content_view.xml | 12 ++++++------ app/src/main/res/values/strings.xml | 1 + 5 files changed, 21 insertions(+), 11 deletions(-) (limited to 'app/src/main') diff --git a/app/src/main/java/it/niedermann/nextcloud/deck/ui/helper/emptycontentview/EmptyContentView.java b/app/src/main/java/it/niedermann/nextcloud/deck/ui/helper/emptycontentview/EmptyContentView.java index 8c98d359f..8b03545e1 100644 --- a/app/src/main/java/it/niedermann/nextcloud/deck/ui/helper/emptycontentview/EmptyContentView.java +++ b/app/src/main/java/it/niedermann/nextcloud/deck/ui/helper/emptycontentview/EmptyContentView.java @@ -4,11 +4,13 @@ import android.content.Context; import android.content.res.TypedArray; import android.util.AttributeSet; import android.view.LayoutInflater; +import android.view.View; import android.widget.ImageView; import android.widget.RelativeLayout; import android.widget.TextView; import androidx.annotation.NonNull; +import androidx.annotation.StringRes; import butterknife.BindView; import butterknife.ButterKnife; @@ -16,6 +18,8 @@ import it.niedermann.nextcloud.deck.R; public class EmptyContentView extends RelativeLayout { + private static final int NO_DESCRIPTION = -1; + @BindView(R.id.title) TextView title; @BindView(R.id.description) @@ -34,9 +38,16 @@ public class EmptyContentView extends RelativeLayout { TypedArray a = context.obtainStyledAttributes(attrs, R.styleable.EmptyContentView, 0, 0); - title.setText(getResources().getString(a.getResourceId(R.styleable.EmptyContentView_title, R.string.app_name_short))); - description.setText(getResources().getString(a.getResourceId(R.styleable.EmptyContentView_description, R.string.app_name))); - image.setImageDrawable(getResources().getDrawable(a.getResourceId(R.styleable.EmptyContentView_image, R.drawable.ic_launcher_foreground))); + + @StringRes int descriptionRes = a.getResourceId(R.styleable.EmptyContentView_description, NO_DESCRIPTION); + + title.setText(getResources().getString(a.getResourceId(R.styleable.EmptyContentView_title, R.string.no_content))); + if (descriptionRes == NO_DESCRIPTION) { + description.setVisibility(View.GONE); + } else { + description.setText(getResources().getString(descriptionRes)); + } + image.setImageDrawable(getResources().getDrawable(a.getResourceId(R.styleable.EmptyContentView_image, R.drawable.ic_app_logo))); a.recycle(); } } diff --git a/app/src/main/res/layout/activity_main.xml b/app/src/main/res/layout/activity_main.xml index 66b2e5fd0..5cb12593d 100644 --- a/app/src/main/res/layout/activity_main.xml +++ b/app/src/main/res/layout/activity_main.xml @@ -24,7 +24,6 @@ android:layout_height="match_parent" android:visibility="gone" app:description="@string/add_a_new_column_using_the_three_dots_menu" - app:image="@drawable/ic_app_logo" app:title="@string/no_columns" tools:visibility="visible" /> diff --git a/app/src/main/res/layout/fragment_stack.xml b/app/src/main/res/layout/fragment_stack.xml index 022487281..93544cb09 100644 --- a/app/src/main/res/layout/fragment_stack.xml +++ b/app/src/main/res/layout/fragment_stack.xml @@ -12,7 +12,6 @@ android:layout_height="match_parent" android:visibility="gone" app:description="@string/add_a_new_card_using_the_button" - app:image="@drawable/ic_app_logo" app:title="@string/no_cards" /> + hint:src="@drawable/ic_app_logo" /> + android:textSize="@dimen/empty_content_font_size" + hint:text="@string/app_name_short" /> + android:textAlignment="center" + hint:text="@string/app_name" /> \ No newline at end of file diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml index 07c2e4bc0..4e4fd8693 100644 --- a/app/src/main/res/values/strings.xml +++ b/app/src/main/res/values/strings.xml @@ -147,4 +147,5 @@ Comment This will permanently delete this attachment. Delete %1$s + No content yet -- cgit v1.2.3