成人国产在线小视频_日韩寡妇人妻调教在线播放_色成人www永久在线观看_2018国产精品久久_亚洲欧美高清在线30p_亚洲少妇综合一区_黄色在线播放国产_亚洲另类技巧小说校园_国产主播xx日韩_a级毛片在线免费

資訊專欄INFORMATION COLUMN

PopupWindow 使用詳解

huaixiaoz / 1910人閱讀

摘要:在經(jīng)常使用,效果跟效果類似,不同點(diǎn)在于可以控制顯示的位置,比如底部顯示等。至此,本篇已結(jié)束,如有不對的地方,歡迎您的建議與指正。同時期待您的關(guān)注,感謝您的閱讀,謝謝

極力推薦文章:歡迎收藏
Android 干貨分享

閱讀五分鐘,每日十點(diǎn),和您一起終身學(xué)習(xí),這里是程序員Android

本篇文章主要介紹 Android 開發(fā)中的部分知識點(diǎn),通過閱讀本篇文章,您將收獲以下內(nèi)容:

PopupWindow 繼承關(guān)系

PopupWindow 使用方法

PopupWindow 底部PopupWindow的實(shí)現(xiàn)

PopupWindow 是一個可以在Activity 之上顯示任意View的控件。在Android經(jīng)常使用,效果跟Dialog 效果類似,不同點(diǎn)在于可以控制顯示的位置,比如底部顯示等。

1. PopupWindow簡介 PopupWindow繼承關(guān)系如下:
java.lang.Object
????
     android.widget.PopupWindow
2. 使用方法

主要是調(diào)用PopWindow的構(gòu)造方法,通過LayoutInflaterLayout轉(zhuǎn)換成View,然后將View 傳遞過去,既可以實(shí)現(xiàn),具體可以參考PopupWindow 源碼,源碼路徑如下:framework/base/core/java/android/widget/PopupWindow.java

3. 底部PopupWindow的實(shí)現(xiàn)

PopupWindow實(shí)現(xiàn)效果

PopWindow 實(shí)現(xiàn)類

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
        // 將布局文件轉(zhuǎn)換成View對象,popupview 內(nèi)容視圖
        mPopView = getLayoutInflater().inflate(R.layout.popwindow_layout, null);
        // 將轉(zhuǎn)換的View放置到 新建一個popuwindow對象中
        mPopupWindow = new PopupWindow(mPopView,
                LinearLayout.LayoutParams.WRAP_CONTENT,
                LinearLayout.LayoutParams.WRAP_CONTENT);
        // 點(diǎn)擊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 {
            // 設(shè)置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 的使用方法基本結(jié)束。

至此,本篇已結(jié)束,如有不對的地方,歡迎您的建議與指正。同時期待您的關(guān)注,感謝您的閱讀,謝謝!

文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請注明本文地址:http://systransis.cn/yun/75843.html

相關(guān)文章

發(fā)表評論

0條評論

閱讀需要支付1元查看
<