[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>

 

原创文章,作者:奋斗,如若转载,请注明出处:https://blog.ytso.com/5374.html

(0)
上一篇 2021年7月16日
下一篇 2021年7月16日

相关推荐

发表回复

登录后才能评论