zoukankan      html  css  js  c++  java
  • PopupWindow的基本使用

    1>写好布局

    <?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="@color/colorPrimary"
        android:orientation="vertical" >
        
        <LinearLayout 
            android:id="@+id/edit_alarm"
            android:layout_width="match_parent"
            android:layout_height="60dp">
            
            <ImageView 
                android:layout_width="24dp"
                android:layout_marginLeft="16dp"
                android:layout_height="match_parent"
                android:src="@drawable/ic_alarm_add"/>
            <TextView
                android:layout_width="match_parent"
                android:layout_height="match_parent"
                android:text="@string/edit_alarm"
                style="@style/popupwindow_text_style"/>
             
        </LinearLayout>
        
        <View  
            android:layout_width="220dp"  
            android:layout_height="1dp"
            android:background="?android:attr/listDivider" /> 
        <LinearLayout 
            android:id="@+id/clear_alarm"
            android:layout_width="match_parent"
            android:layout_height="60dp"
            >
            <ImageView 
                android:layout_width="24dp"
                android:layout_height="match_parent"
                android:layout_marginLeft="16dp"
                android:src="@drawable/ic_alarm_off"/>
            <TextView
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                style="@style/popupwindow_text_style"
                android:text="@string/clear_alarm" />
            
        </LinearLayout>
           
    
    </LinearLayout>

    2>代码:

    public void showAlarmPopupWindow() {
            View view = LayoutInflater.from(getContext()).inflate(R.layout.alarm_popupwindow , null ,false);
            LinearLayout editLayout = (LinearLayout)view.findViewById(R.id.edit_alarm);
            LinearLayout clearLayout = (LinearLayout)view.findViewById(R.id.clear_alarm);
    
            final PopupWindow popupWindow = new PopupWindow(view , ViewGroup.LayoutParams.WRAP_CONTENT, ViewGroup.LayoutParams.WRAP_CONTENT , true);
    
            editLayout.setOnClickListener(new View.OnClickListener() {
                @Override
                public void onClick(View view) {
                    popupWindow.dismiss();
                    mPresenter.editAlarm();
                }
            });
            clearLayout.setOnClickListener(new View.OnClickListener() {
                @Override
                public void onClick(View view) {
                    popupWindow.dismiss();
                    mPresenter.clearAlarm();
                }
            });
            popupWindow.setAnimationStyle(android.R.style.Animation_Dialog);
            popupWindow.showAsDropDown(getActivity().findViewById(R.id.toolbar) , getActivity().getWindowManager().getDefaultDisplay().getWidth() - popupWindow.getWidth() , 1);
        }
  • 相关阅读:
    FastAPI(60)- 针对 WebSocket 进行单元测试
    FastAPI(59)- 详解使用 OAuth2PasswordBearer + JWT 认证
    FastAPI(58)- 使用 OAuth2PasswordBearer 的简单栗子
    FastAPI(57)- 安全相关的概念
    FastAPI(56)- 使用 Websocket 打造一个迷你聊天室
    FastAPI(55)- Events: startup
    FastAPI(54)- 详解 Request 请求对象
    FastAPI(53)- Response Headers 响应设置 Headers
    FastAPI(52)- Response Cookies 响应设置 Cookies
    FastAPI(51)- 自定义响应之 StreamingResponse、FileResponse
  • 原文地址:https://www.cnblogs.com/i-love-kobe/p/5576923.html
Copyright © 2011-2022 走看看