2012-03-21 2 views
0

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

enter image description here

Это мой XML:

<?xml version="1.0" encoding="utf-8"?> 

<SlidingDrawer android:id="@+id/slidingDrawer" android:handle="@+id/drawerHandle" 
       xmlns:android="http://schemas.android.com/apk/res/android" 
       android:content="@+id/contentLayout" android:layout_width="wrap_content" 
       android:layout_height="wrap_content" android:layout_alignParentBottom="true" 
       android:visibility="visible" 
       android:background="#000000"> 
    <ImageView android:id="@+id/drawerHandle" 
       android:src="@drawable/blue_arrow_up_flat" 
       android:layout_width="fill_parent" 
       android:layout_height="wrap_content"> 
    </ImageView> 
    <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 
        android:id="@+id/contentLayout" android:gravity="center" 
        android:layout_width="fill_parent" android:layout_height="wrap_content"> 

     <ListView 
     android:id="@+id/lvwScores" 
     android:layout_width="fill_parent" android:layout_height="wrap_content" 
     android:divider="#FFFFFF" android:dividerHeight="1dip" 
     android:layout_weight="1" android:layout_marginBottom="60dip" 
     android:footerDividersEnabled="true" android:headerDividersEnabled ="true" 
     android:background="#000000"/> 
    </LinearLayout> 
</SlidingDrawer> 

Row:

<?xml version="1.0" encoding="utf-8"?> 
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" 
    android:layout_width="fill_parent" android:layout_height="wrap_content" android:orientation="horizontal"> 

    <TextView android:id="@+id/tvwPlayerName" android:gravity="left" 
    android:layout_width="fill_parent" android:layout_height="wrap_content" 
    android:layout_alignParentLeft="true"/> 
    <TextView android:id="@+id/tvwPlayerScore" android:gravity="right" 
    android:layout_width="fill_parent" android:layout_height="wrap_content" android:layout_marginRight="12sp" 
    android:layout_alignParentRight="true"/> 
</RelativeLayout> 
+0

Вы уверены, что вы хотите использовать ListView для этого? у вас есть список предметов, которые вы хотите прокрутить? – Joe

+0

Это список игроков в игре со своими баллами. Там может быть до девяти, поэтому есть большая вероятность, что они не будут помещаться на одном экране. – theblitz

ответ

0

Попробуйте изменить андроида: layout_weight = "1" из ListView в 3 или> 3..Might работы out

0

Я думаю, что ListView рисуется правильно. Вы можете видеть две линии, единственная проблема заключается в том, что они рисуются в центре и, следовательно, выглядят так, как будто они охватывают весь экран.

Так что я полагаю, если вы удалите

android:gravity="center" 

от вашего LinearLayout он должен работать.

И как заметка на полях: Я никогда не работал с SlidingDrawer, но его документации говорится, что вы должны использовать match_parent (или fill_parent) для его ширины и высоты. Я предполагаю, что вы не хотите, чтобы SlidingDrawer охватывал весь экран, если контент практически отсутствует. Может быть, этот класс не допускает другого поведения, я не знаю. Но, возможно, это реальный источник вашей проблемы, а не сам ListView.

Edit: Игнорирование мой Sidenote, то SlidingDrawer обращается с наверх пустой области является прозрачным, поэтому не должно быть никаких проблем с его взглядом ...

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