2011-02-14 8 views
6

У меня есть макет с 3-мя кнопками вверху, а затем ListView, а затем кнопка под спискомView. Это мой layout.xml файлОтсутствует кнопка, размещенная после ListView

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

    <Button android:id="@+id/btn_top10" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:text="TOP 10"/> 

    <Button android:id="@+id/btn_top100" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:text="TOP 100" 
     android:layout_toRightOf="@id/btn_top10"/> 

    <Button android:id="@+id/btn_showAll" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:text="Show All" 
     android:layout_toRightOf="@id/btn_top100"/> 

    <ListView android:id="@+id/LV_Device" 
     android:layout_width="fill_parent" 
     android:layout_height="wrap_content" 
     android:layout_below="@id/btn_top10" 
     android:layout_above="@id/LV_Device"/> 

    <Button android:id="@+id/btn_clearResult" 
     android:layout_width="fill_parent" 
     android:layout_height="wrap_content" 
     android:text="Clear Results" 
     android:layout_below="@id/LV_Device"/> 

</RelativeLayout> 

Это даст результат, как этот

enter image description here

Если я добавить некоторые значения в ListView, то его нормально, на кнопку ниже будет отображаться

enter image description here

Но если ListView становится больше, чем размер экрана, затем кнопку ниже, не будет виден даже после прокрутки в нижней части ListView

enter image description here

Как решить эту проблему ?? Я не хочу, чтобы кнопка была зафиксирована в нижней части экрана. Я хочу, чтобы кнопка отображалась только в конце списка ListView

ответ

5

Измените свою высоту ListView на 0dip. Затем измените атрибут

android:layout_above="@id/LV_Device" 

в

android:layout_above="@+id/btn_clearResult" 

Наконец, измените последнюю пуговицу, удалив android:layout_below и добавить вместо android:layout_alignParentBottom="true".

+0

Спасибо .. это работает .. но как я уже сказал, я не хочу, чтобы кнопка была зафиксирована в нижней части экрана. Я хочу, чтобы кнопка была видна в конце ListView. Как это сделать? – Shijilal

+0

Затем вы должны переключиться на LinearLayout и вместо этого использовать весы. Однако вы должны знать, что ListView не поддерживает высоту «wrap_content». Он всегда принимает высоту 3 строки, когда вы устанавливаете его на wrap_content. Весь элемент ListView позволяет прокручивать десятки тысяч (или более) элементов эффективно. –

+0

hmm.ohk. поскольку я не могу найти идеальный ответ на то, что я ищу .. Я думаю, что ваше предложение близко к совершенству. Спасибо. Но я действительно не думаю, что линейный макет сможет решить мою проблему. – Shijilal

0

Shijilal вы, возможно, попробовать этот вашу верхнюю кнопку ваша нижняя группа кнопок

+0

средства..группа обе верх и низ кнопка ?? – Shijilal

0

положить RelativeLayout в целях прокрутки таким образом, ваша кнопка будет отображаться даже после того, как прокрутка использовать это может работать

<ScrollView 
xmlns:android="http://schemas.android.com/apk/res/android" 
android:id="@+id/ScrollView01" 
android:layout_width="fill_parent" 
android:paddingTop="10dip" 
android:layout_height="fill_parent" 
android:paddingBottom="10dip"> 
<RelativeLayout 
    android:layout_width="fill_parent" 
    android:layout_height="wrap_content"> 
    <Button 
     android:id="@+id/btn_top10" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:text="TOP 10" /> 
    <Button 
     android:id="@+id/btn_top100" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:text="TOP 100" 
     android:layout_toRightOf="@id/btn_top10" /> 
    <Button 
     android:id="@+id/btn_showAll" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:text="Show All" 
     android:layout_toRightOf="@id/btn_top100" /> 
    <ListView 
     android:id="@+id/LV_Device" 
     android:layout_width="fill_parent" 
     android:layout_height="wrap_content" 
     android:layout_below="@id/btn_top10" 
     android:layout_above="@id/LV_Device" /> 
    <Button 
     android:id="@+id/btn_clearResult" 
     android:layout_width="fill_parent" 
     android:layout_height="wrap_content" 
     android:text="Clear Results" 
     android:layout_below="@id/LV_Device" /> 
</RelativeLayout> 

+0

no its not working..its, показывающий только кнопку «Clear Result» – Shijilal

+0

Я отредактировал мое сообщение, проверяя это сейчас, если он говорит, что конечный тег отсутствует, а затем добавляет закрытие – ingsaurabh

+0

теперь отображается все кнопки. но высота ListView не увеличивается в зависимости от количества элементов. Его просто показывают один, с небольшим прокруткой, который даже не прокручивается :(http://img28.imageshack.us/img28/3871/misbut2.png – Shijilal

5

Если у вас есть ответ, это для тех, кто все еще ищет ответ на ваш вопрос. Вы должны использовать ListView.addFooterView(yourbutton) в своем списке. (но не забудьте поставить это заявление перед настройкой адаптера для вашего списка, как указано в документе.)

+1

Добро пожаловать в stackoverflow. Чтобы помочь неродным англоговорящим и поддерживать полезный, высокий качественный, хорошо написанный справочный сайт Q & A, пожалуйста, не используйте «txt spk» в своих ответах. – Flexo

0

Не инициализируйте ни одного элемента в элементе listView.so в верхней части списка. После добавления кнопки очистки элемента снижается. Но когда добавлено больше предметов, кнопка очистки снижается & с экрана. Я хочу знать, что Initialy, когда элементы добавлены, очищает кнопку. когда четкая кнопка будет достигнута снизу, тогда она не опустится дальше. вы можете добавить больше элементов в список.

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