成人无码视频,亚洲精品久久久久av无码,午夜精品久久久久久毛片,亚洲 中文字幕 日韩 无码

資訊專欄INFORMATION COLUMN

PopupWindow 使用詳解

huaixiaoz / 1966人閱讀

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

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

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

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

PopupWindow 繼承關(guān)系

PopupWindow 使用方法

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

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

1. PopupWindow簡(jiǎn)介 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對(duì)象,popupview 內(nèi)容視圖
        mPopView = getLayoutInflater().inflate(R.layout.popwindow_layout, null);
        // 將轉(zhuǎn)換的View放置到 新建一個(gè)popuwindow對(duì)象中
        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 顯示的形式 底部或者下拉等
            // 在某個(gè)位置顯示
            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é)束,如有不對(duì)的地方,歡迎您的建議與指正。同時(shí)期待您的關(guān)注,感謝您的閱讀,謝謝!

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

轉(zhuǎn)載請(qǐng)注明本文地址:http://m.hztianpu.com/yun/75843.html

相關(guān)文章

發(fā)表評(píng)論

0條評(píng)論

閱讀需要支付1元查看
<