forked from recloudstream/cloudstream
[Feature] View poster image on fullscreen, when its clicked or tapped. (#824)
* View poster image on fullscreen, when its clicked or tapped. * fix missing string * inflate dialog from context * changed inflation to alertdialog custom dialog * [skip ci] remove unused imports * various changes * additional change * xml changes * Update ResultFragment.kt Co-authored-by: Osten <11805592+LagradOst@users.noreply.github.com>
This commit is contained in:
parent
092fad148b
commit
c2ba8dc7e4
3 changed files with 48 additions and 4 deletions
|
@ -17,11 +17,13 @@ import android.view.View
|
||||||
import android.view.View.GONE
|
import android.view.View.GONE
|
||||||
import android.view.View.VISIBLE
|
import android.view.View.VISIBLE
|
||||||
import android.view.ViewGroup
|
import android.view.ViewGroup
|
||||||
|
import android.widget.ImageView
|
||||||
import android.widget.TextView
|
import android.widget.TextView
|
||||||
import android.widget.Toast
|
import android.widget.Toast
|
||||||
import androidx.annotation.StringRes
|
import androidx.annotation.StringRes
|
||||||
import androidx.appcompat.app.AlertDialog
|
import androidx.appcompat.app.AlertDialog
|
||||||
import androidx.core.content.FileProvider
|
import androidx.core.content.FileProvider
|
||||||
|
import androidx.core.graphics.drawable.toBitmap
|
||||||
import androidx.core.view.isGone
|
import androidx.core.view.isGone
|
||||||
import androidx.core.view.isVisible
|
import androidx.core.view.isVisible
|
||||||
import androidx.core.widget.NestedScrollView
|
import androidx.core.widget.NestedScrollView
|
||||||
|
@ -1358,9 +1360,32 @@ class ResultFragment : Fragment(), PanelsChildGestureRegionObserver.GestureRegio
|
||||||
|
|
||||||
result_meta_site?.text = d.apiName
|
result_meta_site?.text = d.apiName
|
||||||
|
|
||||||
if (!d.posterUrl.isNullOrEmpty()) {
|
val posterImageLink = d.posterUrl
|
||||||
result_poster?.setImage(d.posterUrl)
|
if (!posterImageLink.isNullOrEmpty()) {
|
||||||
result_poster_blur?.setImageBlur(d.posterUrl, 10, 3)
|
result_poster?.setImage(posterImageLink)
|
||||||
|
result_poster_blur?.setImageBlur(posterImageLink, 10, 3)
|
||||||
|
//Full screen view of Poster image
|
||||||
|
result_poster_holder?.setOnClickListener {
|
||||||
|
try {
|
||||||
|
context?.let { ctx ->
|
||||||
|
val bitmap = result_poster.drawable.toBitmap()
|
||||||
|
val sourceBuilder = AlertDialog.Builder(ctx)
|
||||||
|
sourceBuilder.setView(R.layout.result_poster)
|
||||||
|
|
||||||
|
val sourceDialog = sourceBuilder.create()
|
||||||
|
sourceDialog.show()
|
||||||
|
|
||||||
|
sourceDialog.findViewById<ImageView?>(R.id.imgPoster)?.apply {
|
||||||
|
setImageBitmap(bitmap)
|
||||||
|
setOnClickListener {
|
||||||
|
sourceDialog.dismissSafe()
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
} catch (e: Exception) {
|
||||||
|
logError(e)
|
||||||
|
}
|
||||||
|
}
|
||||||
} else {
|
} else {
|
||||||
result_poster?.setImageResource(R.drawable.default_cover)
|
result_poster?.setImageResource(R.drawable.default_cover)
|
||||||
result_poster_blur?.setImageResource(R.drawable.default_cover)
|
result_poster_blur?.setImageResource(R.drawable.default_cover)
|
||||||
|
|
18
app/src/main/res/layout/result_poster.xml
Normal file
18
app/src/main/res/layout/result_poster.xml
Normal file
|
@ -0,0 +1,18 @@
|
||||||
|
<?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:orientation="vertical"
|
||||||
|
android:layout_width="wrap_content"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
|
android:background="?attr/primaryBlackBackground" >
|
||||||
|
<ImageView
|
||||||
|
android:id="@+id/imgPoster"
|
||||||
|
android:layout_width="match_parent"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
|
android:scaleType="fitCenter"
|
||||||
|
android:adjustViewBounds="true"
|
||||||
|
android:src="@drawable/default_cover"
|
||||||
|
android:background="#fffff0"
|
||||||
|
android:contentDescription="@string/poster_image"
|
||||||
|
/>
|
||||||
|
</LinearLayout>
|
|
@ -429,4 +429,5 @@
|
||||||
<string name="actor_background">Background</string>
|
<string name="actor_background">Background</string>
|
||||||
|
|
||||||
<string name="home_source">Source</string>
|
<string name="home_source">Source</string>
|
||||||
|
<string name="poster_image">Poster Image</string>
|
||||||
</resources>
|
</resources>
|
||||||
|
|
Loading…
Reference in a new issue