对话框布局不合适 - Android

时间:2016-11-27 13:05:54

标签: android dialog android-dialogfragment

我目前正在开发一个包含列表的应用。为了将项目添加到该列表,用户在操作栏中有一个按钮,单击该按钮可打开包含表单的对话框。用户必须填写该表单并单击提交按钮。

现在,我在一个单独的xml文件中创建了表单布局。问题是每当我在对话框片段中膨胀对话框对象时,当我运行应用程序时,布局没有按预期显示。编辑文本之间的边距是错误的。此外,编辑文本的背景色调(我们在colors.xml文件中定义为相同的颜色)以不同的阴影显示,这是不明原因的。 奇怪的是,在android studio的布局编辑器中,预览图像显示了我想要的内容。

以下是DialogFragment的代码:

package com.silverfix.dgdeditor.fragments;

import android.app.Dialog;
import android.graphics.Point;
import android.os.Bundle;
import android.support.annotation.NonNull;
import android.support.annotation.Nullable;
import android.support.v4.app.DialogFragment;
import android.view.Display;
import android.view.Gravity;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.view.Window;
import android.view.WindowManager;

import com.silverfix.dgdeditor.R;

/**
 * Created by David on 17/11/2016.
 */

public class DangerousGoodDialog extends DialogFragment {

    @Override
    public void onCreate(@Nullable Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setStyle(DialogFragment.STYLE_NORMAL, R.style.DGDialogTheme);
    }

    @Nullable
    @Override
    public View onCreateView(LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) {
        View rootView = inflater.inflate(R.layout.dg_dialog, container, false);
        return rootView;
    }
}

以下是对话框布局的xml代码:

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    android:background="@drawable/dg_dialog_background"
    android:layout_height="match_parent"
    android:layout_width="match_parent">

    <ImageView
        android:id="@+id/imageView2"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:adjustViewBounds="true"
        app:srcCompat="@drawable/action_bar_background"
        android:layout_alignParentTop="true"
        android:elevation="22dp" />

    <ImageView
        android:id="@+id/imageView3"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:adjustViewBounds="true"
        app:srcCompat="@drawable/action_bar_background"
        android:layout_alignParentBottom="true" />

    <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:layout_below="@+id/imageView2"
        android:layout_above="@id/imageView3"
        android:orientation="vertical"
        android:padding="@dimen/dg_dialog_box_margin">


        <EditText
            android:layout_width="match_parent"
            android:layout_height="0dp"
            android:layout_weight="1"
            android:ems="10"
            android:id="@+id/un_text"
            android:layout_marginBottom="@dimen/dg_dialog_box_margin"
            android:backgroundTint="@color/colorHint"
            android:hint="Field 1" />

        <EditText
            android:layout_width="match_parent"
            android:layout_height="0dp"
            android:layout_weight="1"
            android:ems="10"
            android:id="@+id/desc_text"
            android:layout_marginBottom="@dimen/dg_dialog_box_margin"
            android:backgroundTint="@color/colorHint"
            android:hint="Field 2" />

        <EditText
            android:layout_width="match_parent"
            android:layout_height="0dp"
            android:layout_weight="1"
            android:ems="10"
            android:id="@+id/class_text"
            android:layout_marginBottom="@dimen/dg_dialog_box_margin"
            android:backgroundTint="@color/colorHint"
            android:hint="Field 3" />

        <EditText
            android:layout_width="match_parent"
            android:layout_height="0dp"
            android:layout_weight="1"
            android:ems="10"
            android:id="@+id/pack_group_text"
            android:layout_marginBottom="@dimen/dg_dialog_box_margin"
            android:backgroundTint="@color/colorHint"
            android:hint="Field 4" />

        <EditText
            android:layout_width="match_parent"
            android:layout_height="0dp"
            android:layout_weight="1"
            android:ems="10"
            android:id="@+id/quantity_text"
            android:backgroundTint="@color/colorHint"
            android:layout_marginBottom="@dimen/dg_dialog_box_margin"
            android:hint="Field 5" />

        <EditText
            android:layout_width="match_parent"
            android:layout_height="0dp"
            android:layout_weight="1"
            android:ems="10"
            android:id="@+id/inst_text"
            android:layout_marginBottom="@dimen/dg_dialog_box_margin"
            android:backgroundTint="@color/colorHint"
            android:hint="Field 6" />

        <EditText
            android:layout_width="match_parent"
            android:layout_height="0dp"
            android:layout_weight="1"
            android:ems="10"
            android:id="@+id/auth_text"
            android:backgroundTint="@color/colorHint"
            android:hint="Field 7" />

    </LinearLayout>
</RelativeLayout>

- 更新: -

以下是布局图片。

布局编辑器:https://i.gyazo.com/d4b9d0d56919eb9286dec3b1a29903c6.png

虚拟设备:https://i.gyazo.com/26c9f5399df51ed65ca2601210bcded2.png

0 个答案:

没有答案