Пользовательская раскладка диалогов Android не работает - PullRequest
1 голос
/ 20 февраля 2012

Я не понимаю, почему мой диалог ведет себя странно.Если я использую android:layout="wrap_content" для последнего виджета, это делает диалог очень узким.

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical"
    android:padding="20dp">

    <TextView 
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:text="Lorem ipsum dolor sit amet, consectetur adipiscing elit. Aliquam bibendum leo eget eros mattis nec eleifend nulla elementum. Suspendisse suscipit suscipit enim in mollis. "    
    />

    <CheckBox 
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:text="Don't remind me later"    
    />

    <Button 
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:text="Button"    
    />

</LinearLayout>

Java-код.

private void showDialog() {
    Dialog dialog = new Dialog(this);
    dialog.setContentView(R.layout.dial);
    dialog.setTitle("Dialog title");
    dialog.show();
}

Ответы [ 2 ]

1 голос
/ 20 февраля 2012

Match_parent означает, что размер этого виджета будет равен размеру родительского ... поэтому, если у родителя 200 пикселей, значит, у виджета будет. Вместо этого, если вы используете wrap_content ... означает, что размер виджета будет равен его содержанию. Так что если TextView содержит текст длиной около 50 пикселей, то это будет размер виджета. Основываясь на этих определениях, вы теперь можете лучше строить свои макеты.

0 голосов
/ 11 января 2013

У меня была такая же проблема.Мой диалог был очень узким, независимо от того, на что я установил макеты и их дочерние элементы управления.Я смог решить проблему, выполнив чистую сборку в Eclipse.

...