在片段中显示小吃店

问题描述 投票:0回答:1

我有一个抽象类,每个扩展我的片段。在这个课程中,我创建了:

private var snackbar: Snackbar? = null

    override fun onNetworkConnectionChanged(isConnected: Boolean) {
        if (isConnected) {
            Log.d("some", "isConnected")
            snackbar = activity?.buildWarning("soooome")
            snackbar?.show()
        }
        else {
            Log.d("some", "is not connected")
            snackbar.dismiss()
        }
    }

但是当我收到日志:isConnected时,snackbar不会显示。

而且我还有snackbar的下一个助手:

fun FragmentActivity.buildWarning(text: String) = getSnackbarAnchorView()?.buildWarning(text)

fun View.buildWarning(text: String) = buildSnackbar(
    messageText = text,
    bgColorResId = android.R.color.holo_orange_dark
)

private fun FragmentActivity.getSnackbarAnchorView(): View? {
    return if (this is SnackbarAnchorContainer) getSnackbarAnchorView() else null
}

private fun View.buildSnackbar(
    messageText: String,
    @ColorRes bgColorResId: Int
): Snackbar {
    val snackbar = Snackbar.make(this, messageText, Snackbar.LENGTH_INDEFINITE)
    val textView = snackbar.view.findViewById<TextView>(R.id.snackbar_text)
    textView.minimumHeight = context.resources.getDimension(R.dimen.actionbar_height).toInt()
    snackbar.view.setBackgroundColor(ContextCompat.getColor(context, bgColorResId))
    return snackbar
}

interface SnackbarAnchorContainer {
    fun getSnackbarAnchorView(): View?
}

Q:如何显示我的小吃店?

android kotlin android-coordinatorlayout android-snackbar
1个回答
0
投票

为视图的根布局分配ID(例如:main_layout)并使用该视图制作小吃店

例如:

Snackbar.make(main_layout, "Testing Snackbar", Snackbar.LENGTH_SHORT).show()
© www.soinside.com 2019 - 2024. All rights reserved.