2010-07-30 3 views
0

У меня есть ListActivity чей макет выглядит какВозможно ли использовать ViewGroup для Empty ListView?

<?xml version="1.0" encoding="utf-8"?> 
<LinearLayout 
    xmlns:android="http://schemas.android.com/apk/res/android" 
    android:layout_width="fill_parent" 
    android:layout_height="fill_parent"> 
    <ListView android:id="@android:id/list" android:cacheColorHint="@color/transparent" style="@style/FullWidth.NoteList" /> 
    <LinearLayout android:id="@android:id/empty" style="@style/FillParent"> 
    <ImageView style="@style/NoNotesImage" /> 
    <TextView android:text="@string/no_notes" style="@style/Shadowed.NoNotesText" /> 
    <Button android:id="@+id/note_add" android:text="@string/note_add" style="@style/Shadowed.Button.Blue"/> 
    </LinearLayout> 
</LinearLayout> 

Стили соответствующих здесь.

<?xml version="1.0" encoding="utf-8"?> 
<style name="Shadowed"> 
    <item name="android:shadowDx">1.1</item> 
    <item name="android:shadowDy">1.1</item> 
    <item name="android:shadowRadius">1.1</item> 
</style> 
<style name="NoNotesImage"> 
    <item name="android:layout_width">fill_parent</item> 
    <item name="android:layout_height">wrap_content</item> 
    <item name="android:gravity">center</item> 
    <item name="android:layout_marginTop">80.5dip</item> 
    <item name="android:layout_marginLeft">20dip</item> 
    <item name="android:src">@drawable/bg_no_notes</item> 
</style> 
<style name="Shadowed.NoNotesText"> 
    <item name="android:layout_width">fill_parent</item> 
    <item name="android:layout_height">wrap_content</item> 
    <item name="android:gravity">center</item> 
    <item name="android:textSize">10sp</item> 
    <item name="android:textColor">@color/no_notes_text</item> 
    <item name="android:shadowColor">@color/no_notes_shadow</item> 
</style> 
<style name="FillParent"> 
    <item name="android:layout_width">fill_parent</item> 
    <item name="android:layout_height">fill_parent</item> 
</style> 

Однако мой пустой взгляд список состоит только из ImageView перечисленных первых внутри вложенной LinearLayout.

Это похоже на разумную вещь, но я пока не совсем понимаю правила макета Android.

+0

Вполне возможно использовать пустую ViewGroup в качестве пустого представления, но трудно сказать, что может быть неправильным из-за вашего интенсивного использования стилей (что делает невозможным рассказать о том, как ваш XML фактически выложен). Может быть, вы могли бы показать нам, какие стили вы используете? Кроме того, стили обычно не используются в таких базовых атрибутах, как layout_width и layout_height. –

+0

Простите, я просто добавил стили, которые я использую. –

ответ

1

Ну, я сделаю снимок в темноте. LinearLayout должен работать, но я предполагаю, что вы случайно выдвигаете Views на экран. Держу пари, что андроид LinearLayout: ориентация случайно устанавливается на «горизонтальный», а макет_страницы ImageView - «fill_parent»; это блокирует TextView и Button. Вероятно, вам просто нужно изменить ориентацию LinearLayout android: ориентацию на «вертикальную», и она будет работать так, как ожидалось.

+0

Я знал, что это будет что-то глупое. Благодаря! Добавление 'android: orientation =" vertical "' для обоих представлений LinearLayout' исправлено. –

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