В моем приложении у меня есть настраиваемое диалоговое окно с отображением некоторого нежелательного поля вверху, тогда как в xml я не определял никаких полей или отступов вверху. Тем не менее диалог мой выглядит следующим образом - Уменьшить размер заголовка из CustomDialog
код для такой же, как -
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/customDialogRelativeLayout"
android:layout_width="fill_parent"
android:layout_height="wrap_content" >
<TextView
android:id="@+id/tv_title"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginLeft="15dip"
android:layout_marginRight="15dip"
android:textStyle="bold"
android:layout_alignParentTop="true"
android:textColor="@color/white"
android:textSize="22sp"/>
<View
android:id="@+id/view_separator_in_dialog"
style="@style/dialog_separator"
android:layout_width="fill_parent"
android:layout_height="1dip"
android:visibility="gone" />
<TextView
android:id="@+id/tv_message"
style="@style/dialog_message"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:visibility="gone" />
<EditText
android:id="@+id/et_input_text"
style="@style/dialog_edittext"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_below="@id/tv_message"
android:paddingLeft="10dip"
android:visibility="gone" />
<TextView
android:id="@+id/tv_caption"
style="@style/dialog_caption"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_below="@id/et_input_text"
android:visibility="gone" />
<LinearLayout
android:id="@+id/rl_dialog_buttons_horizontal"
style="@style/dialog_rl_buttons"
android:orientation="horizontal"
android:layout_width="wrap_content"
android:layout_height="wrap_content" >
<Button
android:id="@+id/btn_left_dialog"
style="@style/dialog_button_left"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_weight="1"
android:visibility="gone" />
<Button
android:id="@+id/btn_right_dialog"
style="@style/dialog_button_right"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_weight="1"
android:visibility="gone" />
</LinearLayout>
</RelativeLayout>
Я хочу, чтобы ненужный пробел над «Подтверждение» текст, который будет удален.
Класс, который вызывает диалоговое окно, как -
общественный класс MyClass расширяет активность {
private View _separator;
private CustomDialogBox _dialog;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.custom_dialog);
Object[] data = new Object[]{"Confirmation!", "Contact with this number already exits. Do you want to merge?", "Merge", "Create New"};
raiseDailog(this, data);
}
private void raiseDailog(Context context, Object[] data) {
_dialog = new CustomDialogBox(this, data);
_dialog.show();
}
}
И мой класс CustomDialog выглядит -
общественного класса CustomDialogBox продолжается Диалог {
private TextView _title, _message;
private Button _leftButton, _rightButton;
private View _separator;
private String textviewTop;
private String textviewMiddle;
private String buttonText1;
private String buttonText2;
public CustomDialogBox(Context context, Object[] data) {
super(context);
setContentView(R.layout.custom_dialog);
initializeViews();
fillData(data);
}
private void fillData(Object[] data) {
try {
int i = 0;
textviewTop = (String) data[i++];
textviewMiddle = (String) data[i++];
buttonText1 = (String) data[i++];
buttonText2 = (String) data[i++];
} catch (Exception e) {
e.printStackTrace();
}
generateDialog();
}
private void generateDialog() {
//Title goes here
_title.setVisibility(View.VISIBLE);
_title.setText(textviewTop);
//Separator goes here
_separator.setVisibility(View.VISIBLE);
//Message goes here
_message.setVisibility(View.VISIBLE);
_message.setText(textviewMiddle);
//Ok button goes here
_leftButton.setVisibility(View.VISIBLE);
_leftButton.setText(buttonText1);
//Cancel button goes here
_rightButton.setVisibility(View.VISIBLE);
_rightButton.setText(buttonText2);
}
private void initializeViews() {
_title = (TextView) findViewById(R.id.tv_title);
_message = (TextView) findViewById(R.id.tv_message);
_leftButton = (Button) findViewById(R.id.btn_left_dialog);
_rightButton = (Button) findViewById(R.id.btn_right_dialog);
_separator = findViewById(R.id.view_separator_in_dialog);
}
Просьба помочь.
изменить родительский макет на LinearLayout с вертикальной ориентацией и увидеть любую разницу – waqaslam
Спасибо. Но его НЕ работает. Тот же результат. – Rajkiran
можете ли вы разместить код для использования этого макета? Я считаю, что верхний зазор связан с собственным пространством закладок dialogBuilder – waqaslam