中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

PopupWindow自定義位置顯示的實現代碼

發布時間:2020-09-18 22:46:54 來源:腳本之家 閱讀:326 作者:與我常在i 欄目:移動開發

一、概述

在Android中彈出式菜單(以下稱彈窗)是使用十分廣泛的一種菜單呈現方式,彈窗為用戶交互提供了便利。關于彈窗的實現大致有以下兩種方式AlertDialog和PopupWindow,當然網上也有使用Activity并配合Dialog主題的方式實現彈窗,有興趣的朋友也可以去研究一下。對于AlertDialog和PopupWindow兩者最主要的區別就是顯示的位置問題:

(1)AlertDialog在位置顯示上是固定的
(2)PopupWindow相對比較隨意,能夠在主屏幕的任意位置顯示。

二、效果圖

PopupWindow自定義位置顯示的實現代碼

三、代碼

(1)MainActivity中的代碼:

public class MainActivity extends AppCompatActivity {

  private int x;
  private int y;

  @Override
  protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);

  }

  @Override
  public boolean onTouchEvent(MotionEvent event) {

    // 獲得點擊屏幕的坐標

    x = (int) event.getX();
    y = (int) event.getY();

    // 加載PopupWindow 對應的界面
    LayoutInflater inflater = getLayoutInflater();
    final View popupView = inflater.inflate(R.layout.popup_entry_layout,null);

    // 創建PopupWindow 對象
    final PopupWindow popupWindow = new PopupWindow(popupView,400,100); // 第二、第三個參數用來設置彈窗的大小,也可以用WRAP_CONTENT

    // 設置位置
    popupWindow.showAtLocation(popupView, Gravity.NO_GRAVITY,x,y);

    new Handler().postDelayed(new Runnable() {
      @Override
      public void run() {

        // 1秒后關閉該彈窗

        popupWindow.dismiss();

      }
    },1000);

    return true;
  }
}

(2)布局文件中的代碼省略。

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持億速云。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

云龙县| 双峰县| 玉屏| 茶陵县| 怀化市| 迁西县| 临朐县| 金平| 霍山县| 禹州市| 东宁县| 林州市| 大兴区| 甘谷县| 鄄城县| 凤庆县| 塔城市| 桑植县| 长春市| 深泽县| 淄博市| 玛纳斯县| 尉犁县| 凭祥市| 子洲县| 南昌县| 亳州市| 晴隆县| 阳信县| 武鸣县| 忻城县| 灌阳县| 新丰县| 信丰县| 莱西市| 锦州市| 清徐县| 莎车县| 新田县| 丽水市| 南郑县|