仿扣扣弹出框

<RelativeLayout
    android:layout_width="wrap_content"
    android:layout_height="wrap_content">
      <TextView
          android:text="筛选"
          android:layout_marginLeft="12dp"
          android:textColor="#ff252525"
          android:textStyle="bold"
          android:layout_centerVertical="true"
          android:layout_width="wrap_content"
          android:layout_height="wrap_content" />
    <LinearLayout
        android:id="@+id/below_more"
        android:layout_alignParentRight="true"
        android:orientation="horizontal"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content">
    <TextView
        android:text="全部"
        android:id="@+id/tv.filter.content"      //id  全部得id
        android:textColor="#ff252525"
        android:layout_marginRight="4dp"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content" />
     <ImageView
         android:layout_marginTop="6dp"
         android:src="@mipmap/below_more"
         android:layout_marginRight="10dp"
         android:layout_width="wrap_content"
         android:layout_height="wrap_content" />
    </LinearLayout>
</RelativeLayout>



//弹出框
<?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:background="@android:color/white"
    >

    <LinearLayout
        android:orientation="vertical"
        android:layout_width="70dp"
        android:background="@mipmap/xiala"
        android:layout_marginRight="5dp"
        android:layout_height="wrap_content">
        <TextView
            android:id="@+id/all"
            android:layout_marginTop="13dp"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:gravity="center"
            android:text="全部"
            android:textColor="#ff252525"
            android:textSize="14sp" />

    <View
        android:background="#fff8f8f8"
        android:layout_marginBottom="6dp"
        android:layout_marginTop="6dp"
        android:layout_width="match_parent"
        android:layout_height="1dp"/>

    <TextView
        android:id="@+id/huode"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:gravity="center"
        android:text="获得"
        android:textColor="#ff252525"
        android:textSize="14sp" />

    <View
        android:background="#fff8f8f8"
        android:layout_marginBottom="6dp"
        android:layout_marginTop="6dp"
        android:layout_width="match_parent"
        android:layout_height="1dp"/>

    <TextView
        android:id="@+id/use"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:gravity="center"
        android:text="使用"
        android:textColor="#ff252525"
        android:textSize="14sp" />
    </LinearLayout>
</LinearLayout>




//自定义得类
package com.qjtc.magicalar.AlertDialog;
import android.content.Context;
import android.graphics.Color;
import android.graphics.drawable.ColorDrawable;
import android.view.Gravity;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.PopupWindow;
import android.widget.TextView;
import com.qjtc.magicalar.R;
//仿qq弹出框
public class ConfirmPopWindow extends PopupWindow implements View.OnClickListener {

    private Context context;
    private TextView all;
    private TextView huode;
    private TextView use;

    private OnItemClickListener onItemClickListener;

    public ConfirmPopWindow(Context context) {
        super(context);
        this.context = context;
        initalize();
    }

    private void initalize() {
        LayoutInflater inflater = LayoutInflater.from(context);
        View view = inflater.inflate(R.layout.qqalert, null);
        all = view.findViewById(R.id.all);
        huode = view.findViewById(R.id.huode);
        use = view.findViewById(R.id.use);
        all.setOnClickListener(this);
        huode.setOnClickListener(this);
        use.setOnClickListener(this);
        setContentView(view);
        initWindow();
    }

    public void setOnItemClickListener(OnItemClickListener onItemClickListener) {
        this.onItemClickListener = onItemClickListener;
    }

    private void initWindow() {
        this.setWidth(ViewGroup.LayoutParams.WRAP_CONTENT);
        this.setHeight(ViewGroup.LayoutParams.WRAP_CONTENT);
        this.setFocusable(true);
        this.setOutsideTouchable(true);
        setElevation(12.0f);
        this.update();
        //实例化一个ColorDrawable颜色为半透明
        ColorDrawable dw = new ColorDrawable(Color.TRANSPARENT);
        this.setBackgroundDrawable(dw);
    }

    public void showAtBottom(View view) {
        //弹窗位置设置
        showAsDropDown(view, 0, (int)(getContentView().getResources().getDisplayMetrics().density*10), Gravity.RIGHT);
    }

    @Override
    public void onClick(View v) {
        dismiss();
        final int id=v.getId();
        int position=id==R.id.huode?1:id==R.id.use?2:0;
        if(null!=onItemClickListener)
            onItemClickListener.onItemClicked(position);
    }

    public interface OnItemClickListener{
        void onItemClicked(int position);
    }
}
//MainActivity
package com.qjtc.magicalar.activity;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.View;
import android.widget.ImageView;
import android.widget.LinearLayout;
import android.widget.TextView;
import com.qjtc.magicalar.AlertDialog.ConfirmPopWindow;
import com.qjtc.magicalar.R;
import com.qjtc.magicalar.mvp.base.IContentView;
import com.qjtc.magicalar.mvp.base.RouterActivity;

//我的积分  积分明细
public class IntegralDetailActivity extends RouterActivity implements View.OnClickListener,IContentView {

    private ImageView back;
    private TextView rule;
    private LinearLayout below_more;

    @Override
    public int getContentView() {
        return R.layout.activity_integral__detail;
    }

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        initView();
    }

    private void initView() {
        back = getViewById(R.id.back);
        back.setOnClickListener(this);
        rule = getViewById(R.id.rule);
        rule.setOnClickListener(this);
        below_more = getViewById(R.id.below_more);
        below_more.setOnClickListener(this);
    }

    @Override
    public void onClick(View v) {
        switch (v.getId()){
            case R.id.back:
                finish();
                break;
            case R.id.rule://点击跳转积分规则
                getRouter().to(RuleActivity.class).work();
                break;
            case R.id.below_more:
                ConfirmPopWindow window=new ConfirmPopWindow(this);
                window.setOnItemClickListener(new ConfirmPopWindow.OnItemClickListener() {
                    @Override
                    public void onItemClicked(int position) {
                        TextView filterView=getViewById(R.id.tv_filter_content);
                        filterView.setText(position==2?"使用":position==1?"获得":"全部");
                    }
                });
                window.showAtBottom(below_more);
                break;
        }
    }
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值