弹框显示,跳转页面

1、弹窗显示界面要求如下:

这里写图片描述

2. 自定义弹窗界面布局

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent">

    <LinearLayout
        android:id="@+id/ll_left"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_marginLeft="@dimen/x94"
        android:layout_above="@+id/btn_pull_down"
        android:layout_marginBottom="@dimen/y77"
        android:orientation="vertical">

        <ImageView
            android:id="@+id/iv_left"
            android:layout_width="@dimen/x98"
            android:layout_height="@dimen/x98"
            android:src="@drawable/dot_wanted" />

        <TextView
            android:id="@+id/tv_left"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_gravity="center"
            android:layout_marginTop="@dimen/y16"
            android:text="@string/points_within_the_wanted"
            android:textColor="@color/primary_text_default_material_dark"
            android:textSize="@dimen/y22" />
    </LinearLayout>


    <LinearLayout
        android:id="@+id/ll_right"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignTop="@+id/ll_left"
        android:layout_marginLeft="@dimen/x94"
        android:layout_toEndOf="@+id/ll_left"
        android:layout_toRightOf="@+id/ll_left"
        android:orientation="vertical">

        <ImageView
            android:id="@+id/iv_right"
            android:layout_width="@dimen/x98"
            android:layout_height="@dimen/x98"
            android:src="@drawable/delete_form_vehicle" />

        <TextView
            android:id="@+id/tv_right"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_gravity="center"
            android:layout_marginTop="@dimen/y16"
            android:text="@string/from_car_clear"
            android:textColor="@color/primary_text_default_material_dark"
            android:textSize="@dimen/y22" />
    </LinearLayout>


    <ImageView
        android:id="@+id/btn_pull_down"
        android:layout_width="@dimen/x40"
        android:layout_height="@dimen/x40"
        android:layout_alignParentBottom="true"
        android:layout_marginBottom="@dimen/y15"
        android:layout_marginLeft="@dimen/x26"
        android:src="@drawable/btn_pull_down"
        android:visibility="visible" />

</RelativeLayout>

3. 自定义弹窗控件

package com.sfnp.warehouse.dialog;

import android.content.Context;
import android.view.Gravity;
import android.view.View;
import android.view.Window;
import android.view.WindowManager;
import android.widget.ImageView;
import android.widget.LinearLayout;
import android.widget.TextView;

import com.sfnp.warehouse.R;
import com.sfnp.warehouse.base.BaseDialog;
import com.sfnp.warehouse.util.StringUtils;

/**
 * Created by 01139949 on 2017/6/14.
 */

public class WaybillActionDialog extends BaseDialog {
    private LinearLayout llLeft;
    private LinearLayout llRight;
    private OnWaybillActionListener waybillActionListener;
    private ImageView ivPullDown;
    private ImageView ivLeft;
    private ImageView ivRight;
    private TextView tvLeft;
    private TextView tvRight;
    private String leftText;
    private String rightText;
    private int leftRes;
    private int rightRes;

    public WaybillActionDialog(Context context) {
        super(context);
    }

    @Override
    public void onClick(View v) {
        dismiss();
        if (waybillActionListener == null) {
            return;
        }
        switch (v.getId()) {
            case R.id.ll_left:
                waybillActionListener.onClickDotWanted();
                break;
            case R.id.ll_right:
                waybillActionListener.onClickRemoveVehicle();
                break;
            default:
                break;
        }

    }

    @Override
    protected void initContentView() {
    //要求弹窗全屏,位置显示有问题,代码强制全屏
        setContentView(R.layout.dialog_waybill_action);
        Window window = getWindow();
        WindowManager.LayoutParams params = window.getAttributes();
        params.width = getContext().getResources().getDisplayMetrics().widthPixels;
        window.setAttributes(params);
        window.setGravity(Gravity.BOTTOM);
        window.setWindowAnimations(R.style.Anim_DropDownUp);
    }

    @Override
    protected void initView() {
        llLeft = (LinearLayout) findViewById(R.id.ll_left);
        llRight = (LinearLayout) findViewById(R.id.ll_right);
        ivPullDown = (ImageView) findViewById(R.id.btn_pull_down);
        tvLeft = (TextView) findViewById(R.id.tv_left);
        tvRight = (TextView) findViewById(R.id.tv_right);
        ivLeft = (ImageView) findViewById(R.id.iv_left);
        ivRight = (ImageView) findViewById(R.id.iv_right);
    }

    @Override
    protected void initListener() {
        ivPullDown.setOnClickListener(this);
        llLeft.setOnClickListener(this);
        llRight.setOnClickListener(this);
    }

    @Override
    protected void initData() {
        if (!StringUtils.isEmpty(leftText)) {
            tvLeft.setText(leftText);
        }
        if (!StringUtils.isEmpty(rightText)) {
            tvRight.setText(rightText);
        }

        if (leftRes > 0) {
            ivLeft.setImageResource(leftRes);
        }
        if (rightRes > 0) {
            ivRight.setImageResource(rightRes);
        }
        setCanceledOnTouchOutside(false);
    }

    public void setWaybillActionListener(OnWaybillActionListener onPopWindowDialogListener) {
        this.waybillActionListener = onPopWindowDialogListener;
    }

    public interface OnWaybillActionListener {
        void onClickDotWanted();

        void onClickRemoveVehicle();
    }

    /**
     * 设置左边图片显示
     *
     * @param leftRes
     */
    public void setLeftImage(int leftRes) {
        this.leftRes = leftRes;
    }

    /**
     * 设置左边文字显示
     *
     * @param text
     */
    public void setLeftText(String text) {
        leftText = text;
    }

    /**
     * 设置右边图片显示
     *
     * @param rightRes
     */
    public void setRightImage(int rightRes) {
        this.rightRes = rightRes;
    }

    /**
     * 设置右边文字显示
     *
     * @param text
     */
    public void setRightText(String text) {
        rightText = text;
    }


}

4. 显示弹框,部分核心代码

“`

private void showWaybillActionDialog() {
    WaybillActionDialog dialog = new WaybillActionDialog(getActivity());
    dialog.setRightText(getString(R.string.from_package_delete));
    dialog.show();

    dialog.setWaybillActionListener(new WaybillActionDialog.OnWaybillActionListener() {
        @Override
        public void onClickDotWanted() {
            showDotWantedActivity();
        }

        @Override
        public void onClickRemoveVehicle() {
            showPackedFromRemoveActivity();
        }
    });
}

“`

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值