在 Android 中使用自定义布局调整对话框的高度
Adjust the height of a Dialog with custom layout in Android
我有一个带有自定义布局的对话框,一切正常,除了顶部有一个我无法删除的大空 spaces。
关于如何删除空的 space 的任何建议。
这是我的代码:
final Dialog dialog = new Dialog(ConferenceDetailsActivity.this);
dialog.setContentView(R.layout.l_custom_dialog_name);
final CustomEditText nameText = (CustomEditText) dialog.findViewById(R.id.confNameFld);
nameText.setText(mConferenceDetails.getConferenceName());
Button button = (Button) dialog.findViewById(R.id.dialogButtonOK);
button.setOnClickListener(new OnClickListener() {
public void onClick(View v) {
final CustomEditText nameText = (CustomEditText) dialog.findViewById(R.id.confNameFld);
String text = nameText.getText().toString();
dialog.dismiss();
}
});
dialog.show();
我的xml布局:
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent">
<ImageView
android:id="@+id/nameBackground"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:src="@mipmap/name_badge"
android:layout_alignParentTop="true" />
<com.invosys.iconference.CustomControls.CustomEditText
android:id="@+id/confNameFld"
android:layout_height="45dp"
android:layout_width="wrap_content"
android:layout_marginTop="100dp"
android:layout_marginBottom="20dp"
android:layout_alignTop="@+id/nameBackground"
android:layout_alignBottom="@+id/nameBackground"
android:layout_alignLeft="@+id/nameBackground"
android:layout_alignRight="@+id/nameBackground"
android:background="@null"
android:ems="10"
android:hint="@string/namePlaceholder"
android:gravity="center"
android:isScrollContainer="false"
android:inputType="textFilter|textNoSuggestions"
android:textColor="@color/ECharcoalColor" />
<Button
android:id="@+id/dialogButtonOK"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:text=" Ok "
android:layout_below="@+id/nameBackground"
android:layout_alignLeft="@+id/nameBackground"
android:layout_alignRight="@+id/nameBackground" />
............................
在我使用这段代码后,大小减少了,但仍然没有完成任务;
dialog.requestWindowFeature(Window.FEATURE_NO_TITLE); //before setContentView
dialog.setContentView(R.layout.logindialog);
你可以试试这个:
dialog.requestWindowFeature(Window.FEATURE_NO_TITLE); //before setContentView
dialog.setContentView(R.layout.logindialog);
我有一个带有自定义布局的对话框,一切正常,除了顶部有一个我无法删除的大空 spaces。
关于如何删除空的 space 的任何建议。
这是我的代码:
final Dialog dialog = new Dialog(ConferenceDetailsActivity.this);
dialog.setContentView(R.layout.l_custom_dialog_name);
final CustomEditText nameText = (CustomEditText) dialog.findViewById(R.id.confNameFld);
nameText.setText(mConferenceDetails.getConferenceName());
Button button = (Button) dialog.findViewById(R.id.dialogButtonOK);
button.setOnClickListener(new OnClickListener() {
public void onClick(View v) {
final CustomEditText nameText = (CustomEditText) dialog.findViewById(R.id.confNameFld);
String text = nameText.getText().toString();
dialog.dismiss();
}
});
dialog.show();
我的xml布局:
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent">
<ImageView
android:id="@+id/nameBackground"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:src="@mipmap/name_badge"
android:layout_alignParentTop="true" />
<com.invosys.iconference.CustomControls.CustomEditText
android:id="@+id/confNameFld"
android:layout_height="45dp"
android:layout_width="wrap_content"
android:layout_marginTop="100dp"
android:layout_marginBottom="20dp"
android:layout_alignTop="@+id/nameBackground"
android:layout_alignBottom="@+id/nameBackground"
android:layout_alignLeft="@+id/nameBackground"
android:layout_alignRight="@+id/nameBackground"
android:background="@null"
android:ems="10"
android:hint="@string/namePlaceholder"
android:gravity="center"
android:isScrollContainer="false"
android:inputType="textFilter|textNoSuggestions"
android:textColor="@color/ECharcoalColor" />
<Button
android:id="@+id/dialogButtonOK"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:text=" Ok "
android:layout_below="@+id/nameBackground"
android:layout_alignLeft="@+id/nameBackground"
android:layout_alignRight="@+id/nameBackground" />
............................
在我使用这段代码后,大小减少了,但仍然没有完成任务;
dialog.requestWindowFeature(Window.FEATURE_NO_TITLE); //before setContentView
dialog.setContentView(R.layout.logindialog);
你可以试试这个:
dialog.requestWindowFeature(Window.FEATURE_NO_TITLE); //before setContentView
dialog.setContentView(R.layout.logindialog);