【问题标题】:How to set the height of popup window in android Java如何在android Java中设置弹出窗口的高度
【发布时间】:2023-03-28 11:43:02
【问题描述】:

[![在此处输入图片描述][1]][1]

你好,如何实现上面的图像。当用户单击配置文件图标时,将显示弹出窗口。但是在这里我遇到的问题是弹出窗口覆盖了锚视图的整个高度。我需要在导航视图底部显示主页和条形码图像。

我的 XML 代码

<?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"

    android:background="@drawable/menu">

    <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:orientation="vertical">

        <TextView
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="Menu"
            android:textSize="30sp"
            android:layout_marginBottom="60dp"
            android:layout_gravity="center"
            android:layout_marginStart="10dp"
            android:layout_marginEnd="10dp"
            android:gravity="center"
            android:fontFamily="@font/robotobold"
            android:layout_marginTop="20dp"
            android:textColor="@color/colorBlack">
        </TextView>

        <TextView
            android:id="@+id/agent"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="Agent Agreement"
            android:layout_margin="10dp"
            android:textSize="14sp"
            android:layout_gravity="start"
            android:gravity="start"
            android:fontFamily="@font/robotobold"
            android:textColor="@color/colorBlack">
        </TextView>
        <TextView
            android:id="@+id/privacypolicy"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="Privacy Policy"
            android:layout_margin="10dp"
            android:textSize="14sp"
            android:layout_gravity="start"
            android:gravity="start"
            android:fontFamily="@font/robotobold"
            android:textColor="@color/colorBlack">
        </TextView>
        <TextView
            android:id="@+id/changesettings"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="How to change your settings"
            android:layout_margin="10dp"
            android:textSize="14sp"
            android:layout_gravity="start"
            android:gravity="start"
            android:fontFamily="@font/robotobold"
            android:textColor="@color/colorBlack">
        </TextView>
        <TextView
            android:id="@+id/bankinfo"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="Your Bank Account Info"
            android:layout_margin="10dp"
            android:textSize="14sp"
            android:layout_gravity="start"
            android:gravity="start"
            android:fontFamily="@font/robotobold"
            android:textColor="@color/colorBlack">
        </TextView>
        <TextView

            android:id="@+id/profilepic"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="Profile Picture"
            android:layout_margin="10dp"
            android:textSize="14sp"
            android:layout_gravity="start"
            android:gravity="start"
            android:fontFamily="@font/robotobold"
            android:textColor="@color/colorBlack">
        </TextView>
        <TextView
            android:id="@+id/logout"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="Logout"
            android:layout_margin="10dp"
            android:textSize="14sp"
            android:layout_gravity="start"
            android:gravity="start"
            android:fontFamily="@font/robotobold"
            android:textColor="@color/colorBlack">
        </TextView>

    </LinearLayout>

</RelativeLayout>

和显示弹出窗口的Java代码

 draweeView3.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View view) {
                showPopup(view) ;
}
});
 

     private void showPopup(View view) {
            View popupView = getLayoutInflater().inflate(R.layout.menupopup, null);
             popupWindow.setFocusable(true);
           PopupWindow popupWindow = new PopupWindow(popupView,
                    ViewGroup.LayoutParams.WRAP_CONTENT, ViewGroup.LayoutParams.WRAP_CONTENT);
    
         
            TextView tv = (TextView) popupView.findViewById(R.id.lesshigh);
    
    
          
            popupWindow.showAsDropDown(view,-25, 10);
    
        }

我得到的结果是:

【问题讨论】:

    标签: java android android-popupwindow


    【解决方案1】:

    在您的LinearLayout 中更改android:layout_height 的值。对我来说,你能做的最好的事情是这样的:

    ...
    <LinearLayout
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:orientation="vertical">
    ...
    

    【讨论】:

    • 如果我将高度更改为 wrap_content 然后弹出窗口显示注销并出现以下屏幕。我需要填写主页和条形码导航视图上方的弹出窗口
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-12-12
    • 1970-01-01
    • 1970-01-01
    • 2011-10-20
    • 2021-11-13
    相关资源
    最近更新 更多