mirror of
https://github.com/anyproto/anytype-kotlin.git
synced 2025-06-08 13:57:10 +09:00
Media blocks menu (#331)
This commit is contained in:
parent
2c04db3d77
commit
94fe66555a
17 changed files with 145 additions and 48 deletions
|
@ -121,7 +121,8 @@ open class PageFragment : NavigationFragment(R.layout.fragment_page),
|
|||
onAddLocalPictureClick = vm::onAddLocalPictureClicked,
|
||||
onAddLocalFileClick = vm::onAddLocalFileClicked,
|
||||
onTogglePlaceholderClicked = vm::onTogglePlaceholderClicked,
|
||||
onToggleClicked = vm::onToggleClicked
|
||||
onToggleClicked = vm::onToggleClicked,
|
||||
onMediaBlockMenuClick = vm::onMediaBlockMenuClicked
|
||||
)
|
||||
}
|
||||
|
||||
|
|
|
@ -67,7 +67,8 @@ class BlockAdapter(
|
|||
private val onDownloadFileClicked: (String) -> Unit,
|
||||
private val onBookmarkPlaceholderClicked: (String) -> Unit,
|
||||
private val onTogglePlaceholderClicked: (String) -> Unit,
|
||||
private val onToggleClicked: (String) -> Unit
|
||||
private val onToggleClicked: (String) -> Unit,
|
||||
private val onMediaBlockMenuClick:(String) -> Unit
|
||||
) : RecyclerView.Adapter<BlockViewHolder>() {
|
||||
|
||||
override fun onCreateViewHolder(parent: ViewGroup, viewType: Int): BlockViewHolder {
|
||||
|
@ -512,12 +513,14 @@ class BlockAdapter(
|
|||
is BlockViewHolder.File -> {
|
||||
holder.bind(
|
||||
item = blocks[position] as BlockView.File.View,
|
||||
onDownloadFileClicked = onDownloadFileClicked
|
||||
onDownloadFileClicked = onDownloadFileClicked,
|
||||
menuClick = onMediaBlockMenuClick
|
||||
)
|
||||
}
|
||||
is BlockViewHolder.File.Error -> {
|
||||
holder.bind(
|
||||
item = blocks[position] as BlockView.File.Error
|
||||
item = blocks[position] as BlockView.File.Error,
|
||||
menuClick = onMediaBlockMenuClick
|
||||
)
|
||||
}
|
||||
is BlockViewHolder.File.Upload -> {
|
||||
|
@ -528,12 +531,14 @@ class BlockAdapter(
|
|||
is BlockViewHolder.File.Placeholder -> {
|
||||
holder.bind(
|
||||
item = blocks[position] as BlockView.File.Placeholder,
|
||||
onAddLocalFileClick = onAddLocalFileClick
|
||||
onAddLocalFileClick = onAddLocalFileClick,
|
||||
menuClick = onMediaBlockMenuClick
|
||||
)
|
||||
}
|
||||
is BlockViewHolder.Video -> {
|
||||
holder.bind(
|
||||
item = blocks[position] as BlockView.Video.View
|
||||
item = blocks[position] as BlockView.Video.View,
|
||||
menuClick = onMediaBlockMenuClick
|
||||
)
|
||||
}
|
||||
is BlockViewHolder.Video.Upload -> {
|
||||
|
@ -544,12 +549,14 @@ class BlockAdapter(
|
|||
is BlockViewHolder.Video.Placeholder -> {
|
||||
holder.bind(
|
||||
item = blocks[position] as BlockView.Video.Placeholder,
|
||||
onAddLocalVideoClick = onAddLocalVideoClick
|
||||
onAddLocalVideoClick = onAddLocalVideoClick,
|
||||
menuClick = onMediaBlockMenuClick
|
||||
)
|
||||
}
|
||||
is BlockViewHolder.Video.Error -> {
|
||||
holder.bind(
|
||||
item = blocks[position] as BlockView.Video.Error
|
||||
item = blocks[position] as BlockView.Video.Error,
|
||||
menuClick = onMediaBlockMenuClick
|
||||
)
|
||||
}
|
||||
is BlockViewHolder.Page -> {
|
||||
|
@ -571,18 +578,21 @@ class BlockAdapter(
|
|||
}
|
||||
is BlockViewHolder.Picture -> {
|
||||
holder.bind(
|
||||
item = blocks[position] as BlockView.Picture.View
|
||||
item = blocks[position] as BlockView.Picture.View,
|
||||
menuClick = onMediaBlockMenuClick
|
||||
)
|
||||
}
|
||||
is BlockViewHolder.Picture.Placeholder -> {
|
||||
holder.bind(
|
||||
item = blocks[position] as BlockView.Picture.Placeholder,
|
||||
onAddLocalPictureClick = onAddLocalPictureClick
|
||||
onAddLocalPictureClick = onAddLocalPictureClick,
|
||||
menuClick = onMediaBlockMenuClick
|
||||
)
|
||||
}
|
||||
is BlockViewHolder.Picture.Error -> {
|
||||
holder.bind(
|
||||
item = blocks[position] as BlockView.Picture.Error
|
||||
item = blocks[position] as BlockView.Picture.Error,
|
||||
menuClick = onMediaBlockMenuClick
|
||||
)
|
||||
}
|
||||
is BlockViewHolder.Picture.Upload -> {
|
||||
|
|
|
@ -15,7 +15,10 @@ import com.agileburo.anytype.core_ui.BuildConfig
|
|||
import com.agileburo.anytype.core_ui.R
|
||||
import com.agileburo.anytype.core_ui.common.isLinksPresent
|
||||
import com.agileburo.anytype.core_ui.common.toSpannable
|
||||
import com.agileburo.anytype.core_ui.extensions.*
|
||||
import com.agileburo.anytype.core_ui.extensions.color
|
||||
import com.agileburo.anytype.core_ui.extensions.invisible
|
||||
import com.agileburo.anytype.core_ui.extensions.tint
|
||||
import com.agileburo.anytype.core_ui.extensions.visible
|
||||
import com.agileburo.anytype.core_ui.features.page.BlockViewDiffUtil.Companion.NUMBER_CHANGED
|
||||
import com.agileburo.anytype.core_ui.features.page.BlockViewDiffUtil.Companion.TEXT_CHANGED
|
||||
import com.agileburo.anytype.core_ui.features.page.BlockViewDiffUtil.Companion.TOGGLE_EMPTY_STATE_CHANGED
|
||||
|
@ -61,7 +64,6 @@ import kotlinx.android.synthetic.main.item_block_toggle.view.*
|
|||
import kotlinx.android.synthetic.main.item_block_video.view.*
|
||||
import kotlinx.android.synthetic.main.item_block_video_empty.view.*
|
||||
import kotlinx.android.synthetic.main.item_block_video_error.view.*
|
||||
import kotlinx.android.synthetic.main.item_block_video_error.view.icMore
|
||||
import kotlinx.android.synthetic.main.item_block_video_uploading.view.*
|
||||
import android.text.format.Formatter as FileSizeFormatter
|
||||
|
||||
|
@ -601,10 +603,12 @@ sealed class BlockViewHolder(view: View) : RecyclerView.ViewHolder(view) {
|
|||
private val size = itemView.fileSize
|
||||
private val name = itemView.filename
|
||||
private val guideline = itemView.fileGuideline
|
||||
private val btnMenu = itemView.btnFileMenu
|
||||
|
||||
fun bind(
|
||||
item: BlockView.File.View,
|
||||
onDownloadFileClicked: (String) -> Unit
|
||||
onDownloadFileClicked: (String) -> Unit,
|
||||
menuClick: (String) -> Unit
|
||||
) {
|
||||
indentize(item)
|
||||
name.text = item.name
|
||||
|
@ -622,6 +626,7 @@ sealed class BlockViewHolder(view: View) : RecyclerView.ViewHolder(view) {
|
|||
MimeTypes.Category.PRESENTATION -> icon.setImageResource(R.drawable.ic_mime_presentation)
|
||||
MimeTypes.Category.OTHER -> icon.setImageResource(R.drawable.ic_mime_other)
|
||||
}
|
||||
btnMenu.setOnClickListener { menuClick(item.id) }
|
||||
itemView.setOnClickListener { onDownloadFileClicked(item.id) }
|
||||
}
|
||||
|
||||
|
@ -634,18 +639,16 @@ sealed class BlockViewHolder(view: View) : RecyclerView.ViewHolder(view) {
|
|||
class Placeholder(view: View) : BlockViewHolder(view), IndentableHolder {
|
||||
|
||||
private val root = itemView.filePlaceholderRoot
|
||||
private val btnMenu = itemView.btnFilePlaceholderMenu
|
||||
|
||||
fun bind(
|
||||
item: BlockView.File.Placeholder,
|
||||
onAddLocalFileClick: (String) -> Unit
|
||||
onAddLocalFileClick: (String) -> Unit,
|
||||
menuClick: (String) -> Unit
|
||||
) {
|
||||
indentize(item)
|
||||
itemView.setOnClickListener {
|
||||
onAddLocalFileClick(item.id)
|
||||
}
|
||||
itemView.icMore.setOnClickListener {
|
||||
it.context.toast("Not implemented yet!")
|
||||
}
|
||||
btnMenu.setOnClickListener { menuClick(item.id) }
|
||||
itemView.setOnClickListener { onAddLocalFileClick(item.id) }
|
||||
}
|
||||
|
||||
override fun indentize(item: BlockView.Indentable) {
|
||||
|
@ -658,8 +661,10 @@ sealed class BlockViewHolder(view: View) : RecyclerView.ViewHolder(view) {
|
|||
class Error(view: View) : BlockViewHolder(view), IndentableHolder {
|
||||
|
||||
private val root = itemView.fileErrorPlaceholderRoot
|
||||
private val btnMenu = itemView.btnFileErrorMenu
|
||||
|
||||
fun bind(item: BlockView.File.Error) {
|
||||
fun bind(item: BlockView.File.Error, menuClick: (String) -> Unit) {
|
||||
btnMenu.setOnClickListener { menuClick(item.id) }
|
||||
indentize(item)
|
||||
}
|
||||
|
||||
|
@ -689,8 +694,10 @@ sealed class BlockViewHolder(view: View) : RecyclerView.ViewHolder(view) {
|
|||
class Video(view: View) : BlockViewHolder(view), IndentableHolder {
|
||||
|
||||
private val player = itemView.playerView
|
||||
private val btnMenu = itemView.btnVideoMenu
|
||||
|
||||
fun bind(item: BlockView.Video.View) {
|
||||
fun bind(item: BlockView.Video.View, menuClick: (String) -> Unit) {
|
||||
btnMenu.setOnClickListener { menuClick(item.id) }
|
||||
indentize(item)
|
||||
initPlayer(item.url)
|
||||
}
|
||||
|
@ -719,12 +726,14 @@ sealed class BlockViewHolder(view: View) : RecyclerView.ViewHolder(view) {
|
|||
class Placeholder(view: View) : BlockViewHolder(view), IndentableHolder {
|
||||
|
||||
private val root = itemView.videoPlaceholderRoot
|
||||
private val btnMenu = itemView.btnVideoPlaceholderMenu
|
||||
|
||||
fun bind(item: BlockView.Video.Placeholder, onAddLocalVideoClick: (String) -> Unit) {
|
||||
fun bind(item: BlockView.Video.Placeholder,
|
||||
onAddLocalVideoClick: (String) -> Unit,
|
||||
menuClick: (String) -> Unit) {
|
||||
indentize(item)
|
||||
itemView.setOnClickListener {
|
||||
onAddLocalVideoClick(item.id)
|
||||
}
|
||||
btnMenu.setOnClickListener { menuClick(item.id) }
|
||||
itemView.setOnClickListener { onAddLocalVideoClick(item.id) }
|
||||
}
|
||||
|
||||
override fun indentize(item: BlockView.Indentable) {
|
||||
|
@ -737,8 +746,10 @@ sealed class BlockViewHolder(view: View) : RecyclerView.ViewHolder(view) {
|
|||
class Error(view: View) : BlockViewHolder(view), IndentableHolder {
|
||||
|
||||
private val root = itemView.videoErrorRoot
|
||||
private val btnMenu = itemView.btnVideoErrorMenu
|
||||
|
||||
fun bind(item: BlockView.Video.Error) {
|
||||
fun bind(item: BlockView.Video.Error, menuClick: (String) -> Unit) {
|
||||
btnMenu.setOnClickListener { menuClick(item.id) }
|
||||
indentize(item)
|
||||
}
|
||||
|
||||
|
@ -879,6 +890,7 @@ sealed class BlockViewHolder(view: View) : RecyclerView.ViewHolder(view) {
|
|||
private val image = itemView.image
|
||||
private val root = itemView.pictureRootLayout
|
||||
private val error = itemView.error
|
||||
private val btnMenu = itemView.btnPicMenu
|
||||
|
||||
private val listener: RequestListener<Drawable> = object : RequestListener<Drawable> {
|
||||
|
||||
|
@ -904,8 +916,11 @@ sealed class BlockViewHolder(view: View) : RecyclerView.ViewHolder(view) {
|
|||
}
|
||||
}
|
||||
|
||||
fun bind(item: BlockView.Picture.View) {
|
||||
fun bind(item: BlockView.Picture.View, menuClick: (String) -> Unit) {
|
||||
indentize(item)
|
||||
btnMenu.setOnClickListener {
|
||||
menuClick(item.id)
|
||||
}
|
||||
Glide.with(image).load(item.url).listener(listener).into(image)
|
||||
}
|
||||
|
||||
|
@ -918,9 +933,17 @@ sealed class BlockViewHolder(view: View) : RecyclerView.ViewHolder(view) {
|
|||
class Placeholder(view: View) : BlockViewHolder(view), IndentableHolder {
|
||||
|
||||
private val root = itemView.picturePlaceholderRoot
|
||||
private val btnMore = itemView.btnPicPlaceholderMenu
|
||||
|
||||
fun bind(item: BlockView.Picture.Placeholder, onAddLocalPictureClick: (String) -> Unit) {
|
||||
fun bind(
|
||||
item: BlockView.Picture.Placeholder,
|
||||
onAddLocalPictureClick: (String) -> Unit,
|
||||
menuClick: (String) -> Unit
|
||||
) {
|
||||
indentize(item)
|
||||
btnMore.setOnClickListener {
|
||||
menuClick(item.id)
|
||||
}
|
||||
itemView.setOnClickListener {
|
||||
onAddLocalPictureClick(item.id)
|
||||
}
|
||||
|
@ -936,9 +959,13 @@ sealed class BlockViewHolder(view: View) : RecyclerView.ViewHolder(view) {
|
|||
class Error(view: View) : BlockViewHolder(view), IndentableHolder {
|
||||
|
||||
private val root = itemView.pictureErrorRoot
|
||||
private val btnMore = itemView.btnPicErrorMenu
|
||||
|
||||
fun bind(item: BlockView.Picture.Error) {
|
||||
fun bind(item: BlockView.Picture.Error, menuClick: (String) -> Unit) {
|
||||
indentize(item)
|
||||
btnMore.setOnClickListener {
|
||||
menuClick(item.id)
|
||||
}
|
||||
}
|
||||
|
||||
override fun indentize(item: BlockView.Indentable) {
|
||||
|
|
6
core-ui/src/main/res/drawable/bg_menu_media_block.xml
Normal file
6
core-ui/src/main/res/drawable/bg_menu_media_block.xml
Normal file
|
@ -0,0 +1,6 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<shape xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
android:shape="rectangle">
|
||||
<solid android:color="#59000000" />
|
||||
<corners android:radius="4dp" />
|
||||
</shape>
|
15
core-ui/src/main/res/drawable/ic_menu_media_block.xml
Normal file
15
core-ui/src/main/res/drawable/ic_menu_media_block.xml
Normal file
|
@ -0,0 +1,15 @@
|
|||
<vector xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
android:width="25dp"
|
||||
android:height="24dp"
|
||||
android:viewportWidth="25"
|
||||
android:viewportHeight="24">
|
||||
<path
|
||||
android:pathData="M6.0029,14.0323C7.1075,14.0323 8.0029,13.1369 8.0029,12.0323C8.0029,10.9278 7.1075,10.0323 6.0029,10.0323C4.8984,10.0323 4.0029,10.9278 4.0029,12.0323C4.0029,13.1369 4.8984,14.0323 6.0029,14.0323Z"
|
||||
android:fillColor="#ffffff"/>
|
||||
<path
|
||||
android:pathData="M12.0029,14.0323C13.1075,14.0323 14.0029,13.1369 14.0029,12.0323C14.0029,10.9278 13.1075,10.0323 12.0029,10.0323C10.8984,10.0323 10.0029,10.9278 10.0029,12.0323C10.0029,13.1369 10.8984,14.0323 12.0029,14.0323Z"
|
||||
android:fillColor="#ffffff"/>
|
||||
<path
|
||||
android:pathData="M18.0029,14.0323C19.1075,14.0323 20.0029,13.1369 20.0029,12.0323C20.0029,10.9278 19.1075,10.0323 18.0029,10.0323C16.8984,10.0323 16.0029,10.9278 16.0029,12.0323C16.0029,13.1369 16.8984,14.0323 18.0029,14.0323Z"
|
||||
android:fillColor="#ffffff"/>
|
||||
</vector>
|
|
@ -44,12 +44,12 @@
|
|||
android:id="@+id/fileSize"
|
||||
style="@style/BlockFileFileSizeContentStyle"
|
||||
app:layout_constraintBottom_toBottomOf="parent"
|
||||
app:layout_constraintEnd_toStartOf="@+id/fileMenuButton"
|
||||
app:layout_constraintEnd_toStartOf="@+id/btnFileMenu"
|
||||
app:layout_constraintTop_toTopOf="parent"
|
||||
tools:text="2.1 MB" />
|
||||
|
||||
<ImageView
|
||||
android:id="@+id/fileMenuButton"
|
||||
android:id="@+id/btnFileMenu"
|
||||
android:layout_width="24dp"
|
||||
android:layout_height="24dp"
|
||||
android:layout_marginTop="3dp"
|
||||
|
|
|
@ -40,13 +40,13 @@
|
|||
android:text="@string/error_while_loading"
|
||||
android:textColor="@android:color/holo_red_dark"
|
||||
app:layout_constraintBottom_toBottomOf="@+id/icFile"
|
||||
app:layout_constraintEnd_toStartOf="@+id/icMore"
|
||||
app:layout_constraintEnd_toStartOf="@+id/btnFileErrorMenu"
|
||||
app:layout_constraintStart_toEndOf="@+id/icFile"
|
||||
app:layout_constraintTop_toTopOf="@+id/icFile"
|
||||
tools:text="@string/error_while_loading" />
|
||||
|
||||
<ImageView
|
||||
android:id="@+id/icMore"
|
||||
android:id="@+id/btnFileErrorMenu"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginTop="12dp"
|
||||
|
|
|
@ -40,12 +40,12 @@
|
|||
android:text="@string/hint_upload_file"
|
||||
android:textColor="#ACA996"
|
||||
app:layout_constraintBottom_toBottomOf="@+id/icFile"
|
||||
app:layout_constraintEnd_toStartOf="@+id/icMore"
|
||||
app:layout_constraintEnd_toStartOf="@+id/btnFilePlaceholderMenu"
|
||||
app:layout_constraintStart_toEndOf="@+id/icFile"
|
||||
app:layout_constraintTop_toTopOf="@+id/icFile" />
|
||||
|
||||
<ImageView
|
||||
android:id="@+id/icMore"
|
||||
android:id="@+id/btnFilePlaceholderMenu"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginTop="12dp"
|
||||
|
|
|
@ -1,6 +1,7 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
xmlns:app="http://schemas.android.com/apk/res-auto"
|
||||
xmlns:tools="http://schemas.android.com/tools"
|
||||
android:id="@+id/pictureRootLayout"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
|
@ -34,4 +35,14 @@
|
|||
app:layout_constraintStart_toStartOf="@+id/image"
|
||||
app:layout_constraintTop_toTopOf="@+id/image" />
|
||||
|
||||
<include
|
||||
android:id="@+id/btnPicMenu"
|
||||
layout="@layout/menu_media_block"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginTop="4dp"
|
||||
android:layout_marginEnd="4dp"
|
||||
app:layout_constraintEnd_toEndOf="parent"
|
||||
app:layout_constraintTop_toTopOf="@+id/image" />
|
||||
|
||||
</androidx.constraintlayout.widget.ConstraintLayout>
|
|
@ -42,17 +42,17 @@
|
|||
tools:text="@string/error_while_loading"
|
||||
android:textColor="@android:color/holo_red_dark"
|
||||
app:layout_constraintBottom_toBottomOf="@+id/icPicture"
|
||||
app:layout_constraintEnd_toStartOf="@+id/icMore"
|
||||
app:layout_constraintEnd_toStartOf="@+id/btnPicErrorMenu"
|
||||
app:layout_constraintStart_toEndOf="@+id/icPicture"
|
||||
app:layout_constraintTop_toTopOf="@+id/icPicture" />
|
||||
|
||||
<ImageView
|
||||
android:id="@+id/icMore"
|
||||
android:id="@+id/btnPicErrorMenu"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginTop="12dp"
|
||||
android:layout_marginEnd="12dp"
|
||||
android:visibility="invisible"
|
||||
android:visibility="visible"
|
||||
app:layout_constraintEnd_toEndOf="parent"
|
||||
app:layout_constraintTop_toTopOf="parent"
|
||||
app:srcCompat="@drawable/ic_block_more" />
|
||||
|
|
|
@ -41,17 +41,17 @@
|
|||
android:text="@string/hint_upload_image"
|
||||
android:textColor="#ACA996"
|
||||
app:layout_constraintBottom_toBottomOf="@+id/icPicture"
|
||||
app:layout_constraintEnd_toStartOf="@+id/icMore"
|
||||
app:layout_constraintEnd_toStartOf="@+id/btnPicPlaceholderMenu"
|
||||
app:layout_constraintStart_toEndOf="@+id/icPicture"
|
||||
app:layout_constraintTop_toTopOf="@+id/icPicture" />
|
||||
|
||||
<ImageView
|
||||
android:id="@+id/icMore"
|
||||
android:id="@+id/btnPicPlaceholderMenu"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginTop="12dp"
|
||||
android:layout_marginEnd="12dp"
|
||||
android:visibility="invisible"
|
||||
android:visibility="visible"
|
||||
app:layout_constraintEnd_toEndOf="parent"
|
||||
app:layout_constraintTop_toTopOf="parent"
|
||||
app:srcCompat="@drawable/ic_block_more" />
|
||||
|
|
|
@ -43,7 +43,7 @@
|
|||
app:layout_constraintTop_toTopOf="@+id/icPicture" />
|
||||
|
||||
<ImageView
|
||||
android:id="@+id/icMore"
|
||||
android:id="@+id/btnPicUploadMenu"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginTop="12dp"
|
||||
|
|
|
@ -14,4 +14,13 @@
|
|||
android:layout_height="250dp"
|
||||
android:visibility="visible" />
|
||||
|
||||
<include
|
||||
android:id="@+id/btnVideoMenu"
|
||||
layout="@layout/menu_media_block"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_gravity="end"
|
||||
android:layout_marginTop="4dp"
|
||||
android:layout_marginEnd="4dp" />
|
||||
|
||||
</FrameLayout>
|
|
@ -41,12 +41,12 @@
|
|||
android:textColor="#ACA996"
|
||||
|
||||
app:layout_constraintBottom_toBottomOf="@+id/icVideo"
|
||||
app:layout_constraintEnd_toStartOf="@+id/icMore"
|
||||
app:layout_constraintEnd_toStartOf="@+id/btnVideoPlaceholderMenu"
|
||||
app:layout_constraintStart_toEndOf="@+id/icVideo"
|
||||
app:layout_constraintTop_toTopOf="@+id/icVideo" />
|
||||
|
||||
<ImageView
|
||||
android:id="@+id/icMore"
|
||||
android:id="@+id/btnVideoPlaceholderMenu"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginTop="12dp"
|
||||
|
|
|
@ -39,13 +39,13 @@
|
|||
android:text="@string/error_while_loading"
|
||||
android:textColor="@android:color/holo_red_dark"
|
||||
app:layout_constraintBottom_toBottomOf="@+id/icVideo"
|
||||
app:layout_constraintEnd_toStartOf="@+id/icMore"
|
||||
app:layout_constraintEnd_toStartOf="@+id/btnVideoErrorMenu"
|
||||
app:layout_constraintStart_toEndOf="@+id/icVideo"
|
||||
app:layout_constraintTop_toTopOf="@+id/icVideo"
|
||||
tools:text="@string/error_while_loading" />
|
||||
|
||||
<ImageView
|
||||
android:id="@+id/icMore"
|
||||
android:id="@+id/btnVideoErrorMenu"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginTop="12dp"
|
||||
|
|
13
core-ui/src/main/res/layout/menu_media_block.xml
Normal file
13
core-ui/src/main/res/layout/menu_media_block.xml
Normal file
|
@ -0,0 +1,13 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content">
|
||||
|
||||
<ImageView
|
||||
android:id="@+id/icMore"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:background="@drawable/bg_menu_media_block"
|
||||
android:src="@drawable/ic_menu_media_block" />
|
||||
|
||||
</FrameLayout>
|
|
@ -1055,6 +1055,11 @@ class PageViewModel(
|
|||
}
|
||||
}
|
||||
|
||||
fun onMediaBlockMenuClicked(id: String) {
|
||||
updateFocus(id)
|
||||
onActionToolbarClicked()
|
||||
}
|
||||
|
||||
private fun addNewBlockAtTheEnd() {
|
||||
proceedWithCreatingNewTextBlock(
|
||||
id = "",
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue