diff options
-rw-r--r-- | app/src/main/java/de/danoeh/antennapod/activity/OnlineFeedViewActivity.java | 28 | ||||
-rw-r--r-- | app/src/main/res/layout/onlinefeedview_header.xml | 99 |
2 files changed, 56 insertions, 71 deletions
diff --git a/app/src/main/java/de/danoeh/antennapod/activity/OnlineFeedViewActivity.java b/app/src/main/java/de/danoeh/antennapod/activity/OnlineFeedViewActivity.java index 35c423a47..ea7687bc9 100644 --- a/app/src/main/java/de/danoeh/antennapod/activity/OnlineFeedViewActivity.java +++ b/app/src/main/java/de/danoeh/antennapod/activity/OnlineFeedViewActivity.java @@ -4,6 +4,8 @@ import android.app.Dialog; import android.content.Context; import android.content.DialogInterface; import android.content.Intent; +import android.graphics.LightingColorFilter; +import android.os.Build; import android.os.Bundle; import android.support.annotation.NonNull; import android.support.annotation.UiThread; @@ -30,6 +32,7 @@ import android.widget.TextView; import com.bumptech.glide.Glide; import com.bumptech.glide.request.RequestOptions; +import de.danoeh.antennapod.core.glide.FastBlurTransformation; import org.apache.commons.lang3.StringUtils; import org.greenrobot.eventbus.EventBus; import org.greenrobot.eventbus.Subscribe; @@ -393,6 +396,7 @@ public class OnlineFeedViewActivity extends AppCompatActivity { this.selectedDownloadUrl = feed.getDownload_url(); EventDistributor.getInstance().register(listener); ListView listView = findViewById(R.id.listview); + listView.setSelector(android.R.color.transparent); LayoutInflater inflater = LayoutInflater.from(this); View header = inflater.inflate(R.layout.onlinefeedview_header, listView, false); listView.addHeaderView(header); @@ -400,6 +404,10 @@ public class OnlineFeedViewActivity extends AppCompatActivity { listView.setAdapter(new FeedItemlistDescriptionAdapter(this, 0, feed.getItems())); ImageView cover = header.findViewById(R.id.imgvCover); + ImageView headerBackground = header.findViewById(R.id.imgvBackground); + header.findViewById(R.id.butShowInfo).setVisibility(View.INVISIBLE); + header.findViewById(R.id.butShowSettings).setVisibility(View.INVISIBLE); + headerBackground.setColorFilter(new LightingColorFilter(0xff828282, 0x000000)); TextView title = header.findViewById(R.id.txtvTitle); TextView author = header.findViewById(R.id.txtvAuthor); TextView description = header.findViewById(R.id.txtvDescription); @@ -417,6 +425,15 @@ public class OnlineFeedViewActivity extends AppCompatActivity { .fitCenter() .dontAnimate()) .into(cover); + Glide.with(this) + .load(feed.getImageUrl()) + .apply(new RequestOptions() + .placeholder(R.color.image_readability_tint) + .error(R.color.image_readability_tint) + .diskCacheStrategy(ApGlideSettings.AP_DISK_CACHE_STRATEGY) + .transform(new FastBlurTransformation()) + .dontAnimate()) + .into(headerBackground); } title.setText(feed.getTitle()); @@ -445,6 +462,17 @@ public class OnlineFeedViewActivity extends AppCompatActivity { } }); + final int MAX_LINES_COLLAPSED = 10; + description.setMaxLines(MAX_LINES_COLLAPSED); + description.setOnClickListener(v -> { + if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.JELLY_BEAN + && description.getMaxLines() > MAX_LINES_COLLAPSED) { + description.setMaxLines(MAX_LINES_COLLAPSED); + } else { + description.setMaxLines(2000); + } + }); + if (alternateFeedUrls.isEmpty()) { spAlternateUrls.setVisibility(View.GONE); } else { diff --git a/app/src/main/res/layout/onlinefeedview_header.xml b/app/src/main/res/layout/onlinefeedview_header.xml index 4217322e4..057bfb379 100644 --- a/app/src/main/res/layout/onlinefeedview_header.xml +++ b/app/src/main/res/layout/onlinefeedview_header.xml @@ -1,88 +1,33 @@ <?xml version="1.0" encoding="utf-8"?> - -<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" - xmlns:tools="http://schemas.android.com/tools" - android:layout_width="match_parent" - android:layout_height="match_parent"> - - <ImageView - android:id="@+id/imgvCover" - android:layout_width="@dimen/thumbnail_length_onlinefeedview" - android:layout_height="@dimen/thumbnail_length_onlinefeedview" - android:layout_alignParentLeft="true" - android:layout_alignParentStart="true" - android:layout_alignParentTop="true" - android:layout_marginLeft="16dp" - android:layout_marginRight="16dp" - android:layout_marginTop="16dp" - android:contentDescription="@string/cover_label" - tools:src="@drawable/ic_stat_antenna_default" - tools:background="@android:color/holo_green_dark" /> - - <TextView - android:id="@+id/txtvTitle" - style="@style/AntennaPod.TextView.Heading" - android:layout_width="0dp" - android:layout_height="wrap_content" - android:layout_alignParentRight="true" - android:layout_alignParentEnd="true" - android:layout_marginBottom="8dp" - android:layout_marginRight="16dp" - android:layout_marginEnd="16dp" - android:layout_marginTop="16dp" - android:layout_toRightOf="@id/imgvCover" - android:layout_toEndOf="@id/imgvCover" - android:ellipsize="end" - android:gravity="center_vertical" - android:maxLines="2" - tools:text="Online feed title" - tools:background="@android:color/holo_green_dark" /> - - <TextView - android:id="@+id/txtvAuthor" - android:layout_width="wrap_content" - android:layout_height="wrap_content" - android:layout_below="@id/txtvTitle" - android:layout_marginBottom="8dp" - android:layout_marginRight="16dp" - android:layout_marginEnd="16dp" - android:layout_toRightOf="@id/imgvCover" - android:layout_toEndOf="@id/imgvCover" - android:ellipsize="end" - android:lines="1" - android:textColor="?android:attr/textColorSecondary" - android:textSize="@dimen/text_size_small" - tools:text="Online feed author" - tools:background="@android:color/holo_green_dark" /> - - <LinearLayout - android:layout_width="match_parent" +<LinearLayout + xmlns:android="http://schemas.android.com/apk/res/android" + xmlns:tools="http://schemas.android.com/tools" + android:orientation="vertical" android:layout_height="wrap_content" - android:layout_below="@id/imgvCover" - android:orientation="vertical"> + android:layout_width="match_parent"> + <include layout="@layout/feeditemlist_header"/> - <Spinner + <Spinner android:id="@+id/spinnerAlternateUrls" android:layout_width="match_parent" android:layout_height="wrap_content" - android:layout_marginLeft="16dp" - android:layout_marginStart="16dp" - android:layout_marginRight="16dp" - android:layout_marginEnd="16dp" + android:layout_marginLeft="8dp" + android:layout_marginRight="8dp" android:layout_marginTop="8dp" + android:padding="8dp" android:textColor="?android:attr/textColorPrimary" - android:textSize="@dimen/text_size_micro" /> + android:textSize="@dimen/text_size_micro"/> - <Button + <Button android:id="@+id/butSubscribe" android:layout_width="match_parent" android:layout_height="wrap_content" android:layout_margin="16dp" android:focusable="false" - android:text="@string/subscribe_label" /> + android:text="@string/subscribe_label"/> - <TextView + <TextView android:id="@+id/txtvDescription" android:layout_width="wrap_content" android:layout_height="wrap_content" @@ -91,10 +36,22 @@ android:layout_marginStart="16dp" android:layout_marginRight="16dp" android:layout_marginEnd="16dp" + android:ellipsize="end" android:textColor="?android:attr/textColorSecondary" android:textSize="@dimen/text_size_small" tools:text="@string/design_time_lorem_ipsum" tools:background="@android:color/holo_green_dark"/> - </LinearLayout> -</RelativeLayout>
\ No newline at end of file + <TextView + android:layout_width="wrap_content" + android:layout_height="wrap_content" + android:layout_marginBottom="16dp" + android:layout_marginLeft="16dp" + android:layout_marginStart="16dp" + android:layout_marginRight="16dp" + android:layout_marginEnd="16dp" + android:textColor="?attr/colorAccent" + android:textSize="@dimen/text_size_small" + android:text="@string/episodes_label"/> + +</LinearLayout>
\ No newline at end of file |