摘要:在經常使用,效果跟效果類似,不同點在于可以控制顯示的位置,比如底部顯示等。至此,本篇已結束,如有不對的地方,歡迎您的建議與指正。同時期待您的關注,感謝您的閱讀,謝謝
極力推薦文章:歡迎收藏
Android 干貨分享
本篇文章主要介紹 Android 開發中的部分知識點,通過閱讀本篇文章,您將收獲以下內容:
PopupWindow 繼承關系
PopupWindow 使用方法
PopupWindow 底部PopupWindow的實現
PopupWindow 是一個可以在Activity 之上顯示任意View的控件。在Android經常使用,效果跟Dialog 效果類似,不同點在于可以控制顯示的位置,比如底部顯示等。
1. PopupWindow簡介 PopupWindow繼承關系如下:java.lang.Object ???? android.widget.PopupWindow2. 使用方法
主要是調用PopWindow的構造方法,通過LayoutInflater 將Layout轉換成View,然后將View 傳遞過去,既可以實現,具體可以參考PopupWindow 源碼,源碼路徑如下:framework/base/core/java/android/widget/PopupWindow.java
3. 底部PopupWindow的實現PopupWindow實現效果
PopWindow 實現類
public class PopWindowMethods extends Activity { private View mPopView; private PopupWindow mPopupWindow; private Button btn_pop_ok; private Button btn_pop_cancel; @Override protected void onCreate(Bundle savedInstanceState) { // TODO Auto-generated method stub super.onCreate(savedInstanceState); setContentView(R.layout.activity_popwindow); InitPopWindow(); InitView(); InitClick(); } /** * */ private void InitClick() { // TODO Auto-generated method stub btn_pop_ok.setOnClickListener(new OnClickListener() { @Override public void onClick(View v) { // TODO Auto-generated method stub Toast.makeText(getApplicationContext(), "ok", 0).show(); } }); btn_pop_cancel.setOnClickListener(new OnClickListener() { @Override public void onClick(View v) { // TODO Auto-generated method stub Toast.makeText(getApplicationContext(), "cancel", 0).show(); } }); } /** * */ private void InitPopWindow() { // TODO Auto-generated method stub // 將布局文件轉換成View對象,popupview 內容視圖 mPopView = getLayoutInflater().inflate(R.layout.popwindow_layout, null); // 將轉換的View放置到 新建一個popuwindow對象中 mPopupWindow = new PopupWindow(mPopView, LinearLayout.LayoutParams.WRAP_CONTENT, LinearLayout.LayoutParams.WRAP_CONTENT); // 點擊popuwindow外讓其消失 mPopupWindow.setOutsideTouchable(true); // mpopupWindow.setBackgroundDrawable(background); } /** * */ private void InitView() { btn_pop_ok = (Button) mPopView.findViewById(R.id.btn_pop_ok); btn_pop_cancel = (Button) mPopView.findViewById(R.id.btn_pop_cancel); } @SuppressLint("NewApi") public void ShowPopWindow(View view) { if (mPopupWindow.isShowing()) { mPopupWindow.dismiss(); } else { // 設置PopupWindow 顯示的形式 底部或者下拉等 // 在某個位置顯示 mPopupWindow.showAtLocation(mPopView, Gravity.BOTTOM, 0, 30); // 作為下拉視圖顯示 // mPopupWindow.showAsDropDown(mPopView, Gravity.CENTER, 200, 300); } // Toast.makeText( // getApplicationContext(), // "Launcher:" // + PackageUtils.isLauncherAPK(getApplicationContext(), // "com.miui.home"), // 0).show(); } }
PopupWindow布局
至此、PopWindow 的使用方法基本結束。
至此,本篇已結束,如有不對的地方,歡迎您的建議與指正。同時期待您的關注,感謝您的閱讀,謝謝!
文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。
轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/75843.html
閱讀 1016·2021-09-26 09:55
閱讀 3556·2021-09-24 10:30
閱讀 1364·2021-09-08 09:36
閱讀 2553·2021-09-07 09:58
閱讀 603·2019-08-30 15:56
閱讀 765·2019-08-29 18:32
閱讀 3593·2019-08-29 15:13
閱讀 1840·2019-08-29 13:49