lmw
2023-06-13 4b7d8d9a038f6522df46d0f14fa07eb940a1b34d
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
package com.kuanzhai.driver.ui.driver_server.adapter
 
import android.app.Activity
import android.content.Context
import android.os.Bundle
import android.view.Gravity
import android.view.View
import android.view.inputmethod.InputMethodManager
import android.widget.EditText
import androidx.fragment.app.FragmentManager
import cn.sinata.xldutils.utils.Utils
import cn.sinata.xldutils.utils.clickDelay
import cn.sinata.xldutils.utils.getContent
import cn.sinata.xldutils.utils.toast
import com.kuanzhai.driver.R
import com.kuanzhai.driver.ui.main.BaseDialogFragment
import kotlinx.android.synthetic.main.dialog_show_commend.*
import java.util.*
 
class ShowCommendDialog: BaseDialogFragment() {
 
    var replyName = ""
 
    override fun initView(view: View) {
        showSoftInput(requireContext(),et_content)
    }
 
    override fun layout(): Int {
        return R.layout.dialog_show_commend
    }
 
 
    override fun show(manager: FragmentManager, tag: String?) {
        super.show(manager, tag)
    }
 
 
 
 
 
    override fun onActivityCreated(savedInstanceState: Bundle?) {
        super.onActivityCreated(savedInstanceState)
        dialog?.window?.setGravity(Gravity.BOTTOM)
        et_content.setText("")
        et_content.hint = if (replyName.isNotEmpty()) "回复@$replyName" else "发表评论(最多150字)"
        tv_send_commend.clickDelay {
            dismissAllowingStateLoss()
        }
        tv_send_commend.clickDelay {
            if (et_content.getContent().isEmpty()){
                toast("请输入内容")
                return@clickDelay
            }
            comment?.comment(et_content.getContent())
            dismissAllowingStateLoss()
        }
 
        iv_close_pop.clickDelay {
            dismissAllowingStateLoss()
        }
 
    }
 
    var comment:Comment? = null
 
    interface Comment{
        fun comment(content:String)
    }
 
    /**
     * 自动弹软键盘
     *
     * @param context
     * @param et
     */
    fun showSoftInput(context: Context, et: EditText) {
        Timer().schedule(object : TimerTask() {
            override fun run() {
                (context as Activity).runOnUiThread(Runnable {
                    et.setFocusable(true)
                    et.setFocusableInTouchMode(true)
                    //请求获得焦点
                    et.requestFocus()
                    //调用系统输入法
                    val inputManager: InputMethodManager = et
                        .getContext()
                        .getSystemService(Context.INPUT_METHOD_SERVICE) as InputMethodManager
                    inputManager.showSoftInput(et, 0)
                })
            }
        }, 200)
    }
}