gpt4 book ai didi

android - 弹出窗口(使用 PopupWindow 或 Dialog)无缘无故填满屏幕宽度

转载 作者:塔克拉玛干 更新时间:2023-11-02 20:16:45 24 4
gpt4 key购买 nike

我正在尝试让弹出窗口正常运行! =)

问题是弹出窗口“填满了整个屏幕的宽度”,即使布局清楚地表明它应该“wrap_content”。我使用 Dialog 还是 PopupWindow 都没有关系。

首先是弹窗的XML布局,popup_message.xml:

<?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="match_parent"
android:layout_margin="20dp"
android:background="@android:color/transparent"
android:orientation="vertical" >

<LinearLayout
android:layout_width="match_parent"
android:layout_height="40dp"
android:orientation="horizontal"
android:layout_gravity="center" >

<TextView
android:layout_width="match_parent"
android:layout_height="fill_parent"
android:layout_gravity="center"
android:background="@android:color/transparent"
android:gravity="center_vertical|center_horizontal"
android:orientation="horizontal"
android:paddingLeft="10dp"
android:text="@string/new_message"
android:textColor="#000000"
android:textAllCaps="true" >

</TextView>
</LinearLayout>

<RelativeLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:padding="15dp"
android:background="#ffffff"
android:gravity="center_horizontal"
android:orientation="vertical" >

<TextView
android:id="@+id/popup_message_textView"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textAppearance="?android:attr/textAppearanceMedium"
android:textCursorDrawable="@null" >
</TextView>

<Button
android:id="@+id/jobview_pickup_start_submit"
android:layout_width="fill_parent"
android:layout_height="35dp"
android:layout_below="@+id/popup_message_textView"
android:layout_gravity="center_vertical|center_horizontal"
android:layout_marginBottom="15dp"
android:layout_marginTop="15dp"
android:gravity="center_horizontal"
android:text="Confirm"
android:textColor="#000000" />
</RelativeLayout>
</LinearLayout>

我正在使用的代码:

LayoutInflater inflater = (LayoutInflater)getSystemService(Context.LAYOUT_INFLATER_SERVICE);
View input = inflater.inflate(R.layout.popup_message, null);
PopupWindow pw = new PopupWindow(input, LayoutParams.WRAP_CONTENT, LayoutParams.WRAP_CONTENT, true);
View v = findViewById(R.id.main_deviceInfoBar);
pw.showAtLocation(v, Gravity.CENTER, 0, 0);

我也试过这个:

Dialog dialogManualStart = new Dialog(MainActivity.this);dialogManualStart.getWindow().setBackgroundDrawableResource(R.color.transparent);dialogManualStart.requestWindowFeature(MainActivity.this.getWindow().FEATURE_NO_TITLE);dialogManualStart.setContentView(输入);dialogManualStart.show();

无论我使用什么代码,它总是看起来像这样:

enter image description here

如您所见,它总是填满屏幕的宽度。

问题:谁能告诉我为什么?

======== 编辑 1 =============

我将 Button 更改为“wrap_content”(根据 Boogers 的建议),然后它看起来像这样:

enter image description here

这是非常奇怪的行为,不是我所期望的。

如果我将它更改为“match_parent”,它会变回“全宽”,即它从左到右一直延伸。

最佳答案

这是你的问题:

<Button
android:id="@+id/jobview_pickup_start_submit"
android:layout_width="fill_parent"
...

将其从“fill_parent”更改为“wrap_content”或“match_parent”

关于android - 弹出窗口(使用 PopupWindow 或 Dialog)无缘无故填满屏幕宽度,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14503050/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com