安卓气泡弹窗

Posted 心脏dance

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了安卓气泡弹窗相关的知识,希望对你有一定的参考价值。

先画好自己的气泡布局 pop_window_view.xml

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:background="@drawable/背景图"
    android:gravity="center_horizontal"
    android:orientation="horizontal"
    android:paddingStart="9dp"
    android:paddingEnd="12dp">

    <TextView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_marginTop="9dp"
        android:text="@string/气泡里面的文字"
        android:textColor="@color/white" />

    <ImageView
        android:id="@+id/close"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_marginStart="9dp"
        android:layout_marginTop="12dp"
        android:src="@drawable/右边箭头 />


</LinearLayout>

效果如下:

 怎么使用呢?

注意:气泡布局需要依赖一个其他的布局才可以,只要在依赖的布局渲染完成后,调用initPopWindow()即可。

    private var popupWindow: PopupWindow? = null
    private fun initPopWindow() 
        val popWindowView =
            LayoutInflater.from(context).inflate(R.layout.pop_window_view, null, false)
        val mClose = popWindowView.findViewById<ImageView>(R.id.close)
        popupWindow = PopupWindow(
            popWindowView,
            ViewGroup.LayoutParams.WRAP_CONTENT,
            ViewGroup.LayoutParams.WRAP_CONTENT,
            true
        )
        popupWindow?.isFocusable = false
        popupWindow?.isOutsideTouchable = false
        // 设置气泡依赖的布局,以及在依赖的布局的哪儿个位置
        popupWindow?.showAsDropDown(依赖的布局, 1f.dp2px.toInt(), 2f.dp2px.toInt())
        mClose.setOnClickListener 
            popupWindow?.dismiss()
        
    

以上是关于安卓气泡弹窗的主要内容,如果未能解决你的问题,请参考以下文章

Android 实现气泡布局/弹窗,可控制气泡尖角方向及偏移量

360的弹窗怎么去掉,气泡提示怎么去掉?

3、Vue3.0 实现一个简单的气泡弹窗

WPF气泡样式弹窗效果

WPF气泡样式弹窗效果

Kotlin 实现在任何处垂直带气泡Attach弹窗(未超屏)的功能