2011-12-29 1 views
0

Вот макет для настраиваемого диалогового окна предупреждения, над которым я работал. Это просто TextView с CheckBox под:Элемент в макете не отображается (закрыт другим элементом)

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

<ScrollView 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" > 

    <TextView 
     android:id="@+id/help_dialog_text" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:textSize="20dp" /> 
</ScrollView> 

<CheckBox 
    android:id="@+id/display_help_dialogs_checkbox" 
    android:layout_width="wrap_content" 
    android:layout_height="fill_parent" 
    android:text="@string/display_help_dialogs" /> 

Когда TextSize в TextView является достаточно большим (то есть не когда ScrollView фактически «поставлен на использование»), то CheckBox нигде не было видно.

Спасибо за помощь, Mitchell

+0

просто оберните весь код выше в другом прокрутке. – Urban

+0

@ Урбан: Хм ... Мне любопытно, как прокрутка будет обрабатывать наличие другого прокрутки. – DeeV

+0

oh right..hmm ... подумайте об этом, теперь даже им любопытно ... – Urban

ответ

2

Я считаю, что ваш ScrollView толкает Checkbox вне границ макета. Попробуйте что-то вроде этого:

<ScrollView xmlns:android="http://schemas.android.com/apk/res/android" 
    android:layout_width="fill_parent" 
    android:layout_height="fill_parent" > 

    <LinearLayout 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:orientation="vertical" > 

    <TextView 
     android:id="@+id/help_dialog_text" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:textSize="20dp" /> 

    <CheckBox 
     android:id="@+id/display_help_dialogs_checkbox" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:text="@string/display_help_dialogs" /> 
    </LinearLayout> 
</ScrollView> 

Вы, возможно, потребуется указать размеры Scrollview в этом случае, но то, что должно произойти, это LinearLayout становится больше, чем площадь, обозначенному в ScrollView. Затем ScrollView позволит пользователю прокручивать макет, чтобы увидеть остальное.

+0

Perfect. Сначала я попытался поместить как TextView, так и CheckBox в ScrollView, но ScrollView может иметь только одного ребенка ... поэтому я сдался и разместил этот вопрос. И, конечно, решение так просто! – MitchellSalad

 Смежные вопросы

  • Нет связанных вопросов^_^