欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  移动技术

Android Popupwindow弹出窗口的简单使用方法

程序员文章站 2023-08-25 13:34:33
本文实例为大家分享了android popupwindow弹出窗口的具体代码,供大家参考,具体内容如下 代码很简单,没有和别的控件连用。布局自己随意定义,我的这个是最基础...

本文实例为大家分享了android popupwindow弹出窗口的具体代码,供大家参考,具体内容如下

代码很简单,没有和别的控件连用。布局自己随意定义,我的这个是最基础的,就直接上代码啦!

在mainactivity里

import android.content.context;
import android.os.bundle;
import android.support.v7.app.appcompatactivity;
import android.view.layoutinflater;
import android.view.view;
import android.view.viewgroup.layoutparams;
import android.widget.button;
import android.widget.popupwindow;
import android.widget.toast;

public class mainactivity extends appcompatactivity {
  private context mcontext = null;

  @override
  protected void oncreate(bundle savedinstancestate) {
    super.oncreate(savedinstancestate);
    setcontentview(r.layout.activity_main);

    mcontext = this;

    button button = (button) findviewbyid(r.id.but);
    button.setonclicklistener(newview.onclicklistener() {

      @override
      public void onclick(view view) {

        showpopupwindow(view);
      }
    });
  }

  private void showpopupwindow(view view) {

    // 一个自定义的布局,作为显示的内容
    view contentview =layoutinflater.from(mcontext).inflate(
        r.layout.popupwindow, null);
    // 设置按钮的点击事件
    button button = (button) contentview.findviewbyid(r.id.button );
      button.setonclicklistener(new view.onclicklistener() {

          @override
          public void onclick(view v) {
            toast.maketext(mcontext, "button is pressed",
                toast.length_short).show();
          }
    });

    final popupwindow popupwindow = new popupwindow(contentview,  layoutparams.wrap_content,layoutparams.wrap_content, true);

    // 如果不设置popupwindow的背景,无论是点击外部区域还是back键都无法dismiss弹框
    // 我觉得这里是api的一个bug
    popupwindow.setbackgrounddrawable(getresources().getdrawable(r.mipmap.ic_launcher));

    // 设置好参数之后再show
    popupwindow.showasdropdown(view);
  }
}

在主布局里

 <button
    android:id="@+id/but"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:text="hello world!" />

在popupwindow布局里

<?xml version="1.0" encoding="utf-8"?>
<linearlayout xmlns:android="http://schemas.android.com/apk/res/android"
  android:orientation="vertical" android:layout_width="match_parent"
  android:layout_height="match_parent"
  android:background="#ffff00">
<textview
  android:id="@+id/ttt"
  android:layout_width="wrap_content"
  android:layout_height="wrap_content"
  android:textsize="20sp"
  android:text="弹出窗口"/>
  <button
    android:id="@+id/button"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content" />
</linearlayout>

效果图

Android Popupwindow弹出窗口的简单使用方法

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。