Files
assistant-android/app/src/main/java/com/gh/common/util/OptionDialogHelper.kt
2022-03-31 11:06:07 +08:00

44 lines
1.7 KiB
Kotlin

package com.gh.common.util
import android.app.Dialog
import android.content.Context
import android.graphics.Color
import androidx.core.content.ContextCompat
import android.view.Window
import android.widget.LinearLayout
import android.widget.TextView
import com.gh.gamecenter.R
object OptionDialogHelper {
fun showOptionDialog(context: Context, typeList: List<String>, callback: (String) -> Unit) {
val dialog = Dialog(context)
val container = LinearLayout(context)
container.orientation = LinearLayout.VERTICAL
container.setBackgroundColor(R.color.background_white.toColor(context))
container.setPadding(0, DisplayUtils.dip2px(context, 12f), 0, DisplayUtils.dip2px(context, 12f))
for (type in typeList) {
val reportTv = TextView(context)
reportTv.text = type
reportTv.textSize = 17f
reportTv.setTextColor(ContextCompat.getColor(context, R.color.title))
reportTv.setBackgroundResource(R.drawable.textview_white_style)
val widthPixels = context.resources.displayMetrics.widthPixels
reportTv.layoutParams = LinearLayout.LayoutParams(widthPixels * 9 / 10,
LinearLayout.LayoutParams.WRAP_CONTENT)
reportTv.setPadding(DisplayUtils.dip2px(context, 20f), DisplayUtils.dip2px(context, 12f),
0, DisplayUtils.dip2px(context, 12f))
container.addView(reportTv)
reportTv.setOnClickListener {
callback.invoke(reportTv.text.toString())
dialog.cancel()
}
}
dialog.requestWindowFeature(Window.FEATURE_NO_TITLE)
dialog.setContentView(container)
dialog.show()
}
}