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