• 16 PopupWindow的应用


    PopupWindow的用途

    1.浮动弹出自定义窗体

    2.可设置弹出位置

    在注册按钮下展开

    在窗口底部展开

    在layout中新建一个xml文件,布局:

    package com.example.logon;
    
    import androidx.appcompat.app.AppCompatActivity;
    
    import android.content.Context;
    import android.os.Bundle;
    import android.view.Gravity;
    import android.view.LayoutInflater;
    import android.view.View;
    import android.widget.Button;
    import android.widget.EditText;
    import android.widget.ImageView;
    import android.widget.LinearLayout;
    import android.widget.PopupWindow;
    import android.widget.RadioButton;
    import android.widget.TextView;
    import android.widget.Toast;
    
    public class MainActivity extends AppCompatActivity {
    
        @Override
        protected void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            setContentView(R.layout.activity_main);
            Button btnLogon = (Button)findViewById(R.id.btnLogon);
            btnLogon.setOnClickListener(new View.OnClickListener(){
                @Override
                public void onClick(View v) {
                    RadioButton rbtnLogonByUserName = (RadioButton)findViewById(R.id.rbtnLogonByUserName);
                    //RadioButton rbtnLogonByEmail = (RadioButton)findViewById(R.id.rbtnLogonByEmail);
                    String DbUser,DbPassword;
                    if(rbtnLogonByUserName.isChecked()){
                        DbUser = "zhangsan";
                        DbPassword = "123456";
                    }
                    else{
                        DbUser = "zhangsan@sample.com";
                        DbPassword = "123456";
                    }
                    EditText txtUserName = (EditText)findViewById(R.id.txtUserName);
                    EditText txtPassword = (EditText)findViewById(R.id.txtPasword);
                    TextView txtResult = (TextView)findViewById(R.id.txtResult);
                    if (txtUserName.getText().toString().equals(DbUser)){
                        if(txtPassword.getText().toString().equals(DbPassword)){
                            //txtResult.setText("登录成功");
                            //Toast toast = Toast.makeText(MainActivity.this, "登录成功", Toast.LENGTH_LONG);
                            //toast.setGravity(Gravity.CENTER,0,0);
                            //LinearLayout layout = (LinearLayout)toast.getView();
                            //ImageView img = new ImageView(getApplicationContext());
                            //img.setImageResource(R.drawable.googleplay);
                            //layout.addView(img,0);
                            //toast.show();
                            ToastShow("登录成功");
                        }else{
                            //密码错误
                            //txtResult.setText("密码错误");
                            //Toast toast = Toast.makeText(MainActivity.this, "密码错误", Toast.LENGTH_LONG);
                            //toast.setGravity(Gravity.CENTER,0,0);
                            //toast.show();
                            ToastShow("密码错误");
                        }
                    }
                    else{
                        //用户名不存在
                        //txtResult.setText("用户名不存在");
                        //Toast toast = Toast.makeText(MainActivity.this, "用户名不存在", Toast.LENGTH_LONG);
                        //toast.setGravity(Gravity.CENTER,0,0);
                        //toast.show();
                        ToastShow("用户名不存在");
                    }
                }
            });
            final Button btnReg = (Button)findViewById(R.id.btnReg);
            btnReg.setOnClickListener(new View.OnClickListener() {
                @Override
                public void onClick(View v) {
                    View contentView = LayoutInflater.from(MainActivity.this).inflate(R.layout.popup_content,null,false);
    
                    PopupWindow window = new PopupWindow(contentView,LinearLayout.LayoutParams.MATCH_PARENT,LinearLayout.LayoutParams.WRAP_CONTENT,true);
                    window.setTouchable(true);
                    window.showAsDropDown(btnReg,0,0,Gravity.BOTTOM);
                    //在注册按钮下展开
                    //window.showAtLocation(getWindow().getDecorView(),Gravity.BOTTOM,0,0);
                    //在窗口底部展开
                }
            });
        }
        void ToastShow(String Content){
            Toast toast = Toast.makeText(MainActivity.this, Content, Toast.LENGTH_LONG);
            View view = LayoutInflater.from(MainActivity.this).inflate(R.layout.tosat_templates, null);
            TextView txtToastContent = (TextView) view.findViewById(R.id.txtToastContent);
            txtToastContent.setText(Content);
            toast.setView(view);
            toast.setGravity(Gravity.CENTER,0,0);
            //LinearLayout layout = (LinearLayout)toast.getView();
            //ImageView img = new ImageView(getApplicationContext());
            //img.setImageResource(R.drawable.googleplay);
            //layout.addView(img,0);
            toast.show();
        }
    }
  • 相关阅读:
    checkbox全选
    table隔行变色与table单元格根据条件更改字体颜色
    document.ready和window.onload
    JS实现定时弹出广告
    CSS overflow属性与display属性
    OpenCV 安装步骤
    C#类的继承多态(虚方法,隐藏方法、抽象类和抽象方法)
    C#中虚方法,抽象方法和隐藏方法
    C#的重载与重写
    C#中可空类型
  • 原文地址:https://www.cnblogs.com/wangdayang/p/14459604.html
Copyright © 2020-2023  润新知