PopupWindow 弹出窗口

本文介绍了一个具体的Android应用案例,展示了如何通过MainActivity类实现UI元素的布局与交互,包括TextView和RelativeLayout等组件的使用,以及如何通过监听器响应用户操作并显示弹出窗口。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

public class MainActivity extends Activity implements OnClickListener{

    private TextView tv;
    private RelativeLayout fa;
    private TextView find;
    private TextView sao;
    private TextView pay;
    private TextView creg;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        //找控件
       tv=(TextView)findViewById(R.id.tv);
       fa=(RelativeLayout)findViewById(R.id.father);
       //设监听
       tv.setOnClickListener(this);
    }

    OnClickListener l=new OnClickListener() {
        @Override
        public void onClick(View v) {
            switch (v.getId()) {
            case R.id.findf:
                Toast.makeText(MainActivity.this, "添加成功", 0).show();
                break;
            case R.id.sao:
                Toast.makeText(MainActivity.this, "扫一扫成功", 0).show();
                break;
            case R.id.page:
                Toast.makeText(MainActivity.this, "支付成功", 0).show();
                break;
            case R.id.crtgp:
                Toast.makeText(MainActivity.this, "创建成功", 0).show();
                break;
            default:
                break;
            }
        }
    };

    @Override
    public void onClick(View v) {
        switch (v.getId()) {
        case R.id.tv:
            View content=View.inflate(MainActivity.this, R.layout.popup, null);
            //设置弹出窗口的参数一:view,参数二:宽,参数三:高
            PopupWindow pop=new PopupWindow(content, ViewGroup.LayoutParams.WRAP_CONTENT, ViewGroup.LayoutParams.WRAP_CONTENT);
            //设置背景图片
            pop.setBackgroundDrawable(getResources().getDrawable(R.drawable.pop_help_bg));
            //点击外边弹出窗口取消----注意此句放在设置弹出位置之前,否则失效
            pop.setOutsideTouchable(true);
            //设置弹出位置 
            pop.showAtLocation(fa, Gravity.BOTTOM, 0, 0);//父容器的底部
            //pop.showAtLocation(fa, Gravity.CENTER, 0, 0);//父容器的中间
            //pop.showAsDropDown(tv);//tv控件的下方
            find=(TextView)content.findViewById(R.id.findf);
            sao=(TextView)content.findViewById(R.id.sao);
            pay=(TextView)content.findViewById(R.id.page);
            creg=(TextView)content.findViewById(R.id.crtgp);
            find.setOnClickListener(l);
            sao.setOnClickListener(l);
            pay.setOnClickListener(l);
            creg.setOnClickListener(l);
            break;
        default:
            break;
        }
    } 
}

背景图片

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值