2013-10-07 3 views
1

У меня есть этот XML-файл в виде макета в appwidget:кнопка не появляется в макете андроид appwidget

<?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="wrap_content" 
    android:orientation="vertical" 
    android:background="@android:color/black" > 

    <!-- ListView to be shown on widget --> 
    <ListView 
     android:id="@+id/listViewWidget" 
     android:layout_width="fill_parent" 
     android:layout_height="wrap_content" /> 

    <Button 
     android:id="@+id/refresh_appwidget" 
     android:layout_width="fill_parent" 
     android:layout_height="wrap_content" 
     android:text="refresh" 
/> 

</LinearLayout> 

кнопка не отображается, и я не знаю причину. Я протестировал layout_with match_parent, но всегда тот же результат.

Как исправить эту проблему?

+0

Ваша кнопка не отображается из-за размера вашего ListView. Ваша кнопка находится под списком. – tchike

+0

Не объявляйте «wrap_content» для «ListView». –

ответ

1

Установите фиксированную высоту для списка, например android:layout_height="400dp" в LinearLayout.

Или используйте RelativeLayout

Или добавить кнопку в сноске к ListView. Таким образом, вы можете видеть кнопку при прокрутке вниз

Или добавьте свою кнопку в виде заголовка в список.

С относительной компоновкой вы можете поместить кнопку в верхнюю часть или кнопку и относительную кнопку tot eh, вы можете разместить свой список.

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" 
    android:layout_width="fill_parent" 
    android:background="@android:color/black" 
    android:layout_height="fill_parent" > 

    <Button 
     android:id="@+id/button1" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:layout_alignParentBottom="true" 
     android:layout_centerHorizontal="true" 
     android:text="Button" /> 

    <ListView 
     android:id="@+id/listView1" 
     android:layout_above="@+id/button1" 
     android:layout_width="match_parent" 
     android:layout_height="wrap_content" 
     android:layout_alignParentTop="true" 
     android:layout_centerHorizontal="true" > 

    </ListView> 

</RelativeLayout> 
0

Попробуйте с RelativeLayout:

<?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="vertical" 
    android:background="@android:color/black" > 

<!--  ListView to be shown on widget --> 
    <ListView 
     android:id="@+id/listViewWidget" 
     android:layout_width="fill_parent" 
     android:layout_height="wrap_content" /> 

    <Button 
     android:id="@+id/refresh_appwidget" 
     android:layout_width="fill_parent" 
     android:layout_height="wrap_content" 
     android:text="refresh" 

/> 

</RelativeLayout> 

Я стараюсь увидеть кнопку, но не вижу в списке

+0

с этим оба отображаются, но список находится под кнопкой – begiPass

+0

@begiPass попробуйте макет в моем посте, он должен работать или установить eh height на 'android: layout_height =" 400dp "для списка. измените его на желаемое значение – Raghunandan

+1

@ Raghunandan, да, спасибо, он отлично работает и выглядит довольно хорошо – begiPass

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