Commit 50350e0c authored by yinjiacheng's avatar yinjiacheng

add 提示dialog

parent 4ad1a0a2
......@@ -26,6 +26,7 @@ import com.yidian.shenghuoquan.newscontent.service.*
import com.yidian.shenghuoquan.newscontent.ui.*
import com.yidian.shenghuoquan.newscontent.ui.auth.*
import com.yidian.shenghuoquan.newscontent.ui.idcard.IDCardTestActivity
import com.yidian.utils.DensityUtil
import com.yidian.xpage.XPageManager
import com.yidian.xpage.node.XPageHandler
import com.yidian.xpage.node.XPageNode
......@@ -41,6 +42,7 @@ class NewsContentApplication : YdBaseApplication() {
registerXPage()
initService()
NightModeUtil.setContext(this)
DensityUtil.init(this)
}
}
......
package com.yidian.shenghuoquan.newscontent.bean
/**
* author: yinjiacheng
* date: 6/8/21 12:54 AM
* description: 提示dialog内操作项
*/
data class HintOptionBean(val option: String)
\ No newline at end of file
package com.yidian.shenghuoquan.newscontent.ui.dialog
import android.content.Context
import android.os.Bundle
import android.view.View
import android.view.WindowManager
import androidx.core.view.isVisible
import com.yidian.common.base.BaseDialog
import com.yidian.shenghuoquan.newscontent.R
import com.yidian.shenghuoquan.newscontent.bean.HintOptionBean
import com.yidian.shenghuoquan.newscontent.databinding.DialogHintBinding
import com.yidian.utils.DensityUtil
/**
* author: yinjiacheng
* date: 6/8/21 12:34 AM
* description: 提示dialog
*/
class HintDialog(
context: Context,
val content: String,
val options: ArrayList<HintOptionBean>,
val callback: OnHintOptionCallback?
) :
BaseDialog<DialogHintBinding>(context), View.OnClickListener {
override fun createViewBinding(): DialogHintBinding {
return DialogHintBinding.inflate(layoutInflater)
}
override fun initView() {
viewBinding.tvContent.text = content
when (options.size) {
1 -> {
viewBinding.btnRight.text = options[0].option
viewBinding.btnLeft.isVisible = false
viewBinding.viewVerticalDivider.isVisible = false
}
2 -> {
viewBinding.btnLeft.text = options[0].option
viewBinding.btnRight.text = options[1].option
}
}
}
override fun initListener() {
viewBinding.btnLeft.setOnClickListener(this)
viewBinding.btnRight.setOnClickListener(this)
}
override fun init(savedInstanceState: Bundle?) {
super.init(savedInstanceState)
setCanceledOnTouchOutside(false)
}
override fun show() {
super.show()
val attrs = window?.attributes
attrs?.width = DensityUtil.dp2px(269f)
attrs?.height = WindowManager.LayoutParams.WRAP_CONTENT
window?.attributes = attrs
}
override fun onClick(v: View?) {
if (v?.id == R.id.btn_left) {
callback?.onLeftOption()
} else if (v?.id == R.id.btn_right) {
callback?.onRightOption()
}
}
interface OnHintOptionCallback {
/**
* 左操作项
*/
fun onLeftOption()
/**
* 右操作项
*/
fun onRightOption()
}
}
\ No newline at end of file
<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android"
android:shape="rectangle">
<solid android:color="@color/color_FFFFFFFF" />
<corners android:radius="12dp" />
</shape>
\ No newline at end of file
<?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"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="@drawable/bg_hint_dialog">
<TextView
android:id="@+id/tv_content"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:gravity="center"
android:padding="19dp"
android:textColor="@color/color_DE000000"
android:textSize="14sp"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent" />
<View
android:id="@+id/view_horizontal_divider"
android:layout_width="match_parent"
android:layout_height="1dp"
android:background="@color/color_1A000000"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@id/tv_content" />
<Button
android:id="@+id/btn_left"
android:layout_width="0dp"
android:layout_height="46dp"
android:background="@null"
android:textColor="@color/color_8F000000"
android:textSize="15sp"
app:layout_constraintEnd_toStartOf="@id/btn_right"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@id/view_horizontal_divider" />
<View
android:id="@+id/view_vertical_divider"
android:layout_width="1dp"
android:layout_height="0dp"
android:background="@color/color_1A000000"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toStartOf="@id/btn_right"
app:layout_constraintStart_toEndOf="@id/btn_left"
app:layout_constraintTop_toBottomOf="@id/view_horizontal_divider" />
<Button
android:id="@+id/btn_right"
android:layout_width="0dp"
android:layout_height="46dp"
android:background="@null"
android:textColor="@color/color_FF1852F1"
android:textSize="15sp"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toEndOf="@id/btn_left"
app:layout_constraintTop_toBottomOf="@id/view_horizontal_divider" />
</androidx.constraintlayout.widget.ConstraintLayout>
\ No newline at end of file
......@@ -41,4 +41,9 @@
<color name="base">#FF1852F1</color>
<color name="edit_text_border_blue">#1852F1</color>
<color name="edit_text_border_gray">#cccccc</color>
<color name="color_1A000000">#1A000000</color>
<color name="color_DE000000">#DE000000</color>
<color name="color_8F000000">#8F000000</color>
<color name="color_FF1852F1">#FF1852F1</color>
<color name="color_FFFFFFFF">#FFFFFFFF</color>
</resources>
\ No newline at end of file
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment