zoukankan      html  css  js  c++  java
  • [android] 练习PopupWindow实现对话框

    练习使用Dialog实习对话框

    package com.example.tsh;
    
    import android.app.Activity;
    import android.app.Dialog;
    import android.os.Bundle;
    import android.os.Handler;
    import android.view.MotionEvent;
    import android.view.View;
    import android.view.View.OnClickListener;
    import android.view.View.OnTouchListener;
    import android.view.ViewGroup.LayoutParams;
    import android.widget.Button;
    import android.widget.PopupWindow;
    
    public class MainActivity extends Activity {
        private Handler handler=new Handler();
        @Override
        protected void onCreate(Bundle savedInstanceState) {
            // TODO Auto-generated method stub
            super.onCreate(savedInstanceState);
            setContentView(R.layout.activity_main);
            //Dialog实现对话框
            Dialog dialog=new Dialog(this,R.style.Theme_Tsh_Dialog);
            dialog.setContentView(R.layout.activity_two);
            dialog.show();
            
            
        }
    }

    styles.xml

    <?xml version="1.0" encoding="utf-8"?>
    <resources xmlns:android="http://schemas.android.com/apk/res/android">
        
        <!-- 自定义对话框主题 -->
        <style name="Theme.Tsh.Dialog" parent="@android:style/Theme.Dialog">
            <item name="android:windowBackground">@null</item>
        </style>
    </resources>

    练习使用PopupWindow实现对话框

    package com.example.tsh;
    
    import android.app.Activity;
    import android.app.Dialog;
    import android.os.Bundle;
    import android.os.Handler;
    import android.view.MotionEvent;
    import android.view.View;
    import android.view.View.OnClickListener;
    import android.view.View.OnTouchListener;
    import android.view.ViewGroup.LayoutParams;
    import android.widget.Button;
    import android.widget.PopupWindow;
    
    public class MainActivity extends Activity {
        private Handler handler=new Handler();
        @Override
        protected void onCreate(Bundle savedInstanceState) {
            // TODO Auto-generated method stub
            super.onCreate(savedInstanceState);
            setContentView(R.layout.activity_main);
            //Dialog实现对话框
    //        Dialog dialog=new Dialog(this,R.style.Theme_Tsh_Dialog);
    //        dialog.setContentView(R.layout.activity_two);
    //        dialog.show();
            
            //使用PopupWindow实现对话框
            Button dropDown=(Button) findViewById(R.id.bt_dropdown);
            dropDown.setOnClickListener(new OnClickListener() {
                @Override
                public void onClick(View arg0) {
                    View anchor=View.inflate(MainActivity.this, R.layout.activity_two, null);
                    final PopupWindow popupWindow=new PopupWindow(anchor, LayoutParams.WRAP_CONTENT, LayoutParams.WRAP_CONTENT,true);
                    
                    //点击空白隐藏
                    popupWindow.setTouchable(true);
                    popupWindow.setTouchInterceptor(new OnTouchListener() {
                        
                        @Override
                        public boolean onTouch(View arg0, MotionEvent arg1) {
                            popupWindow.dismiss();
                            return false;
                        }
                    });
                    popupWindow.setBackgroundDrawable(getResources().getDrawable(R.drawable.ic_launcher));
                    popupWindow.showAsDropDown(arg0);
                    
                }
            });
            
        }
    }

    activity_main.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" >
        
        <TextView
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:text="第一个界面"/>
        <Button 
            android:id="@+id/bt_dropdown"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="显示下拉"
            />
    </LinearLayout>
  • 相关阅读:
    Java正則表達式入门
    Android
    centos改动sshport
    【iOS开发-59】LOL案例:单组tabView、alertView样式、实现监听,以及用reloadData数据刷新
    【Allwinner ClassA20类库分析】4.GPIO类的使用
    MvvmLight框架使用入门(四)
    MvvmLight框架使用入门(三)
    MvvmLight框架使用入门(二)
    MvvmLight框架使用入门(一)
    CEF 框架使用集锦
  • 原文地址:https://www.cnblogs.com/taoshihan/p/5697608.html
Copyright © 2011-2022 走看看