Android 4.3中的自定义EditTextDialog被破坏

Android 4.3中的自定义EditTextDialog被破坏,android,android-edittext,android-4.3-jelly-bean,Android,Android Edittext,Android 4.3 Jelly Bean,我目前正在处理一个应用程序,我的自定义EditText对话框中出现了一些不需要的行为。下面是XML代码 <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:orientation="vertical" android:layout_width="match_parent" android:layout_height="match_parent"> <android.s

我目前正在处理一个应用程序,我的自定义EditText对话框中出现了一些不需要的行为。下面是XML代码

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical" android:layout_width="match_parent"
android:layout_height="match_parent">

<android.support.design.widget.TextInputLayout
    android:layout_width="match_parent"
    android:layout_height="wrap_content" >
    <EditText
        android:id="@+id/editText_dialog"
        android:layout_width="fill_parent"
        android:inputType="textCapSentences"
        android:layout_height="wrap_content"
        android:layout_gravity="center"
        android:textAppearance="?android:attr/textAppearanceMedium"/>
</android.support.design.widget.TextInputLayout>

<RelativeLayout
    android:layout_marginTop="10dp"
    android:layout_width="match_parent"
    android:layout_height="wrap_content">

    <TextView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="@string/close_dialog"
        android:id="@+id/cancel_dialog"
        android:textSize="20sp"
        android:layout_margin="20dp"
        android:layout_gravity="right"
        android:layout_toLeftOf="@+id/valid_dialog" />

    <TextView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="@string/validate_dialog"
        android:id="@+id/valid_dialog"
        android:textSize="20sp"
        android:layout_margin="20dp"
        android:layout_gravity="right"
        android:textColor="@android:color/holo_blue_light"
        android:layout_alignParentRight="true" />
</RelativeLayout>S7

</LinearLayout>
这是我在Galaxy S7边缘的输出:

但当我在Galaxy SIII模拟器上运行我的应用程序时,它似乎坏了:


这似乎只发生在4.3及以下版本。我不知道发生了什么。

我认为如果你发布自定义的EdiTextDialog类(我认为问题在于你正在构建对话的主题)……我可以看到TextView的一些其余部分:)在这个有问题的对话框中,就像某些点一样,我只能想象它不能正确缩放视图。你为什么不试着设置较低的文本大小,看看是否合适。我还建议尝试将LinearLayout高度设置为wrapContent…@Rucsi我正要用你建议的更改编辑这个问题,但我又尝试了一件事,发现问题是每个TextView中的布局边距,将其更改为填充a,它可以工作!非常感谢你的帮助!我很高兴你把它修好了!!我认为如果你发布自定义的EdiTextDialog类(我认为问题在于你正在构建对话的主题)…正如我看到的TextView的一些剩余部分:)会有所帮助。在这个有问题的对话框中,就像某些点一样,我只想它不能正确缩放视图。你为什么不试着设置较低的文本大小,看看是否合适。我还建议尝试将LinearLayout高度设置为wrapContent…@Rucsi我正要用你建议的更改编辑这个问题,但我又尝试了一件事,发现问题是每个TextView中的布局边距,将其更改为填充a,它可以工作!非常感谢你的帮助!我很高兴你把它修好了!!
package com.fitme.staffbooker;

import android.app.Dialog;
import android.content.Context;
import android.os.Bundle;
import android.text.InputType;
import android.view.View;
import android.widget.EditText;
import android.widget.NumberPicker;


public class EditTextDialog extends Dialog {

private EditText editText;
public boolean dismissed = false;

public EditTextDialog(Context context, String title) {
    super(context, android.R.style.Theme_Holo_Light_Dialog);
    setTitle(title);
}

@Override
protected void onCreate(final Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.edit_text_dialog);

    editText = (EditText) findViewById(R.id.editText_dialog);

    findViewById(R.id.valid_dialog).setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v) {
            dismissed = true;
            dismiss();
        }
    });

    findViewById(R.id.cancel_dialog).setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v) {
            cancel();
        }
    });
}

public void setHint(String str) {
    editText.setHint(str);
}

public void setText(String str) {
    editText.setText(str);
}

public void setInputType(int type) {
    editText.setInputType(type);
}

public String getValue() {
    return editText.getText().toString();
}
}