国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 系統 > Android > 正文

Popupwindow 的簡單實用案例(顯示在控件下方)

2019-10-23 18:31:21
字體:
來源:轉載
供稿:網友

第一步:

private PopupWindow mPopupWindow;

第二步:寫一個popupwindow的布局文件XML

<?xml version="1.0" encoding="utf-8"?><LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"  android:layout_width="match_parent"  android:layout_height="match_parent"  android:orientation="vertical">  <RelativeLayout    android:layout_width="match_parent"    android:layout_height="match_parent"    android:background="#669E9E9E"><LinearLayout  android:layout_width="match_parent"  android:layout_height="wrap_content"  android:orientation="horizontal"  android:background="#E4E4E4"  >  <TextView    android:id="@+id/popupwindow_Jan"    android:layout_width="0dp"    android:layout_height="wrap_content"    android:layout_weight="1"    android:text="一月份"    android:gravity="center"    />  <TextView    android:id="@+id/popupwindow_Feb"    android:layout_width="0dp"    android:layout_height="wrap_content"    android:layout_weight="1"    android:text="二月份"    android:gravity="center"    />  <TextView    android:id="@+id/popupwindow_Mar"    android:layout_width="0dp"    android:layout_height="wrap_content"    android:layout_weight="1"    android:text="三月份"    android:gravity="center"    /></LinearLayout>  </RelativeLayout></LinearLayout>

第三步:在Activity寫代碼

public void onClick(View v) {  switch (v.getId()) {   case R.id.home_travel_modes_yuefen_textview:       showPopupWindow(v);      break;   case R.id.popupwindow_Jan:      showToastMsg("一月份");      break;    case R.id.popupwindow_Feb:      showToastMsg("二月份");      break;    default:      break;  } public void showPopupWindow(View v){    View contentView = LayoutInflater.from(HomeTravelModesActivity.this).inflate(R.layout.home_popuplayout, null);    TextView JanText = (TextView)contentView.findViewById(R.id.popupwindow_Jan);    TextView FebText = (TextView)contentView.findViewById(R.id.popupwindow_Feb);    TextView MarText = (TextView)contentView.findViewById(R.id.popupwindow_Mar);    JanText.setOnClickListener(this);    FebText.setOnClickListener(this);    MarText.setOnClickListener(this);    final PopupWindow popupWindow = new PopupWindow(contentView,        LinearLayout.LayoutParams.MATCH_PARENT, 300, true);    popupWindow.setTouchable(true);//    popupWindow.setTouchInterceptor(new View.OnTouchListener() {////      @Override//      public boolean onTouch(View v, MotionEvent event) {////        Log.i("mengdd", "onTouch : ");////        return false;//        // 這里如果返回true的話,touch事件將被攔截//        // 攔截后 PopupWindow的onTouchEvent不被調用,這樣點擊外部區域無法dismiss//      }//    });    // 如果不設置PopupWindow的背景,無論是點擊外部區域還是Back鍵都無法dismiss彈框    // 我覺得這里是API的一個bug    popupWindow.setBackgroundDrawable(getResources().getDrawable(        R.mipmap.ic_launcher));    // 設置好參數之后再show    popupWindow.showAsDropDown(v);  }

注:

若在Activity的onCreate()方法中直接寫彈出PopupWindow()方法報錯,因為Activity沒有完全啟動是不能彈出PopupWindow的,那我們只需要在Activity完全啟動后在彈出PopupWindow就行了。

重寫一下onWindowFocusChanged()方法:

@Overridepublic void onWindowFocusChanged(boolean hasFocus) {  super.onWindowFocusChanged(hasFocus);  //彈出PopupWindow的具體代碼}

以上這篇Popupwindow 的簡單實用案例(顯示在控件下方)就是小編分享給大家的全部內容了,希望能給大家一個參考,也希望大家多多支持VEVB武林網。


注:相關教程知識閱讀請移步到Android開發頻道。
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 曲阳县| 新乡市| 清水河县| 株洲市| 班玛县| 班戈县| 湘阴县| 邯郸市| 家居| 南华县| 虞城县| 临沭县| 东乌珠穆沁旗| 墨竹工卡县| 恩平市| 博乐市| 西宁市| 宜丰县| 合水县| 遵化市| 会东县| 乐平市| 镇宁| 武威市| 南和县| 依安县| 平江县| 五原县| 开阳县| 扎赉特旗| 靖宇县| 大丰市| 秦皇岛市| 榆林市| 遂川县| 论坛| 肃南| 循化| 南丹县| 额尔古纳市| 靖宇县|