在Fragment中添加Popwindow菜单点击事件

版权声明:本文为博主原创文章,转载请标明出处。 https://blog.csdn.net/GXSeveryday/article/details/82777420

效果如下:

在这里插入图片描述

Fragment:

package com.wace.pflove.bottomtab;
import android.content.Intent;
import android.graphics.drawable.ColorDrawable;
import android.os.Build;
import android.os.Bundle;
import android.support.annotation.NonNull;
import android.support.annotation.Nullable;
import android.support.v4.app.Fragment;
import android.view.Display;
import android.view.LayoutInflater;
import android.view.Menu;
import android.view.MenuInflater;
import android.view.View;
import android.view.ViewGroup;
import android.view.WindowManager;
import android.widget.ImageView;
import android.widget.PopupWindow;
import android.widget.TextView;
import android.widget.Toast;
import com.wace.pflove.R;

public class MeFragment extends Fragment implements View.OnClickListener{
    private PopupWindow mPopWindow;
    private ImageView mMenuTv;
    private ImageView mButton2;
    private PopupWindow mPopupWindow;


    public static MeFragment newInstance() {
        MeFragment fragment = new MeFragment();
        return fragment;
    }

    View contentView;

    @Nullable
    @Override
    public View onCreateView(@NonNull LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) {
        final View view = inflater.inflate(R.layout.fragment_me,container,false);

        contentView = inflater.inflate(R.layout.popup_content_layout, null);

        //mMenuTv = (ImageView)view.findViewById(R.id.btn_open);

        mButton2 = (ImageView)view.findViewById(R.id.btn_open);
        mButton2.setOnClickListener(this);
        /*mMenuTv.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {

            }
        });*/

        return view;
    }

    @Override
    public void onViewCreated(@NonNull View view, @Nullable Bundle savedInstanceState) {
        super.onViewCreated(view, savedInstanceState);
    }





    private View getPopupWindowContentView() {
        // 一个自定义的布局,作为显示的内容
        //int layoutId = R.layout.popup_content_layout;   // 布局ID
        View.OnClickListener menuItemOnClickListener = new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                Toast.makeText(v.getContext(), "Click " + ((TextView) v).getText(), Toast.LENGTH_SHORT).show();



                if (mPopupWindow != null) {
                    mPopupWindow.dismiss();
                }
            }
        };
        contentView.findViewById(R.id.menu_item1).setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                Toast.makeText(v.getContext(), "自定义的跳转1", Toast.LENGTH_SHORT).show();
            }
        });

        contentView.findViewById(R.id.menu_item2).setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                Toast.makeText(v.getContext(), "自定义的跳转2", Toast.LENGTH_SHORT).show();
            }
        });


}

弹出Popwindws的布局:

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:background="@drawable/button_normal_bg"
    android:orientation="vertical"
    android:padding="1dp">

    <LinearLayout
        android:layout_width="@dimen/popupwindow_content_width"
        android:layout_height="wrap_content"
        android:layout_marginTop="10dp"
        android:layout_marginRight="10dp"
        android:orientation="vertical">

        <TextView
            android:id="@+id/menu_item1"
            style="@style/menu_item_text_style"
            android:text="关于" />

        <View
            style="@style/menu_item_divider_style"/>

        <TextView
            android:id="@+id/menu_item2"
            style="@style/menu_item_text_style"
            android:text="设置" />

        <View
            style="@style/menu_item_divider_style"/>


    </LinearLayout>

</LinearLayout>

在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/GXSeveryday/article/details/82777420