Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/excel/23.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android 对话框无法设置宽度窗口的大小_Android_Dialog - Fatal编程技术网

Android 对话框无法设置宽度窗口的大小

Android 对话框无法设置宽度窗口的大小,android,dialog,Android,Dialog,大家好,我在设置对话框大小以适应窗口宽度方面遇到了问题 我在这里尝试了几个答案,比如: 但我无法达到手机的最大宽度。它实际上得到了顶部(重力)的属性,但宽度没有 我使用的代码是: package bem.banorte.bem; import android.app.Activity; import android.app.Dialog; import android.graphics.Color; import android.graphics.Point; import andr

大家好,我在设置对话框大小以适应窗口宽度方面遇到了问题

我在这里尝试了几个答案,比如:

但我无法达到手机的最大宽度。它实际上得到了顶部(重力)的属性,但宽度没有

我使用的代码是:

    package bem.banorte.bem;

import android.app.Activity;
import android.app.Dialog;
import android.graphics.Color;
import android.graphics.Point;
import android.graphics.drawable.ColorDrawable;
import android.os.Bundle;
import android.support.v7.app.AlertDialog;
import android.support.v7.app.AppCompatActivity;
import android.view.ContextThemeWrapper;
import android.view.Gravity;
import android.view.View;
import android.view.ViewGroup;
import android.view.Window;
import android.view.WindowManager;
import android.widget.TextView;

/**
 * Created by IDS Comercial on 09/07/2018.
 */

public class ThirdActivity extends AppCompatActivity {

    @Override
    protected void onCreate(Bundle savedInstanceState) {

        super.onCreate(savedInstanceState);

        AlertDialog.Builder builder = new AlertDialog.Builder(new ContextThemeWrapper(this, R.style.CustomDialogTheme));

        TextView title = new TextView(this);
        // You Can Customise your Title here
        title.setText("Error en la aplicacion");
        // title.setBackgroundColor(Color.);
        title.setPadding(0, 30, 0, 30);
        title.setGravity(Gravity.CENTER);
        title.setTextColor(Color.WHITE);
        title.setTextSize(20);

        builder.setCustomTitle(title);

        //antes era alertDialog
        Dialog dialog = builder.create();
        dialog.requestWindowFeature(Window.FEATURE_NO_TITLE);
        dialog.setCancelable(true);
        dialog.setCanceledOnTouchOutside(true);

        WindowManager.LayoutParams lp = new WindowManager.LayoutParams();
        lp.copyFrom(dialog.getWindow().getAttributes());
        lp.gravity = Gravity.TOP | Gravity.LEFT;
        lp.x = 0;   //x position
        lp.y = 85;   //y position
        lp.width = WindowManager.LayoutParams.MATCH_PARENT;
        lp.height = WindowManager.LayoutParams.WRAP_CONTENT;

        dialog.show();
        dialog.getWindow().setAttributes(lp);

    }

}
样式的代码如下所示:

<style name="CustomDialogTheme" parent="@android:style/Theme.Dialog">
        <item name="android:textColor">@color/black</item>
        <item name="android:windowBackground">@color/warningA</item>
        <item name="android:background">@color/warningA</item>
        <item name="android:windowIsFloating">false</item>
        <item name="android:typeface">normal</item>
        <item name="android:windowNoTitle">true</item>
        <item name="android:windowFullscreen">true</item>
    </style>

@颜色/黑色
@颜色/警告
@颜色/警告
假的
正常的
真的
真的
活动是这样的:

<android.support.constraint.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    tools:context="bem.banorte.bem.ThirdActivity">
    <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:layout_marginBottom="8dp"
        android:layout_marginTop="8dp"
        android:orientation="vertical"
        app:layout_constraintBottom_toBottomOf="parent"
        app:layout_constraintEnd_toEndOf="parent"
        app:layout_constraintTop_toTopOf="parent"
        app:layout_constraintVertical_bias="1.0">
    </LinearLayout>
</android.support.constraint.ConstraintLayout>

更新: 在交叉检查build.gradle和OP的所有内容后,这似乎是一个特定于设备的问题。这段代码在Nexus5(API23)real设备和Pixel2(API23)AVD中完全使用

我们的嫌疑犯是-
@android:style/Theme。这款摩托罗拉G Play(安卓6.0.1 api 23)设备中的对话框不同

原件: 您的拨号已满。我尝试了你的代码,但在你的主题中切换颜色如下-

<item name="android:windowBackground">@android:color/holo_blue_light</item>
<item name="android:background">@android:color/holo_red_light</item>
@android:color/holo\u blue\u light
@安卓:彩色/全息红光
我看到了这个


Hi-mducc我在这一行上这样做:lp.width=WindowManager.LayoutParams.MATCH\u PARENT;你指的是其他地方吗?为我工作,做一个空的活动。我刚刚更改了android:windowBackground和backgroundcolor,这意味着它正在创建全宽,但由于您的颜色您看不到它OK在几分钟内我再次测试,我会让您不断更新谢谢:)我编辑了这篇文章,但只剩下使用Motorola G Play Anroid 6.0.1 api 23的importsIm了编译sdk版本是什么@arnoldssssI am运行Nexus 5、Android 6.0.1 api 23,但使用api 28编译