Кнопка добавления Android в верхней части списка - PullRequest
1 голос
/ 22 августа 2011

Извините, я новичок: (

Как добавить Button вверху ListView и стиль как здесь: Это изображение

Ответы [ 7 ]

1 голос
/ 22 августа 2011

Я думаю, что будет лучше, если вы сначала используете LinearLayout с вертикальной ориентацией, а также поместите Button и ListView. LinearLayout будет вашим «Оберткой контента» следующим образом: main.xml

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout
 xmlns:android="http://schemas.android.com/apk/res/android"
 android:orientation="vertical"
 android:layout_width="fill_parent"
 android:layout_height="fill_parent">
   <Button 
      android:text="Button"
      android:id="@+id/button1" 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content" />
   <ListView 
      android:id="@+id/listView1" 
      android:layout_height="wrap_content" 
      android:layout_width="fill_parent" 
      android:entries="@array/list"/>       
 </LinearLayout>

и строковый массив для записей:

<string-array name="list">
    <item>Entry1</item>
    <item>Entry2</item>
    <item>Entry3</item>
    <item>Entry4</item>
</string-array>
0 голосов
/ 16 октября 2013

Вы можете создать кнопку в собственном макете, которая будет раздуваться в адаптере, и установить видимость кнопки в прошлом.В адаптере вы должны только проверить в методе getview, если psoition равен 0, а если 0, сделать кнопку видимой, иначе она исчезнет.Таким образом, у вас есть кнопка в верхней части списка, и ее можно прокручивать.Чтобы сделать кнопку нажатой, используйте только метод onclick в методе getview.Это очень просто.

0 голосов
/ 02 мая 2013

Вы можете попробовать ListView.addHeaderView ();

Таким образом, кнопка появится внутри ListView над элементами.Также взгляните на этот учебник .

0 голосов
/ 22 августа 2011
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"  
    android:orientation="vertical" android:layout_gravity="top|center_horizontal"
    android:layout_width="match_parent" android:layout_height="wrap_content">
    <Button android:layout_width="fill_parent" android:layout_height="wrap_content" 
        android:text="Add Alarm"/>
    <ListView android:layout_width="fill_parent" android:layout_height="0dip"
        android:layout_weight="1.0"></ListView>
</LinearLayout>

Это должно дать желаемое расположение.

0 голосов
/ 22 августа 2011

Вы можете использовать относительный план для этого:

<RelativeLayout android:id="@+id/parentLayout"
 android:layout_width="fill_parent"
 android:layout_height="fill_parent">

   <Button android:id="@+id/btn"
      android:layout_width="fill_parent"
      android:layout_height="wrap_content"
      android:text="My Button"
      android:alignParentTop = "true"/>

  <ListView android:id="@+id/myList"
     android:layout_below="@id/btn"
     android:layout_width="fill_parent"
     android:layout_height="fill_parent" />

</RelativeLayout>
0 голосов
/ 22 августа 2011

Возможно, эта кнопка не является частью списка. Попробуйте сделать макет так:

<LinearLayout
    xmlns:android="http://schemas.android.com/apk/res/android"
    android:orientation="vertical"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent">
    <Button
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:text="Button" />
    <ListView
        android:layout_width="fill_parent"
        android:layout_height="fill_parent" />
</LinearLayout>
0 голосов
/ 22 августа 2011

Во-первых, я просто хочу подтвердить, что Button всегда на вершине ListView, что даже когда ListView прокручивается, Button все еще там или Button прокручивается тоже

Если это первый случай, он довольно прост, просто сделайте вертикаль LinearLayout с Button перед ListView

Если это второй случай, этодовольно сложно.Поскольку вы не должны использовать ListView внутри ScrollView, я предлагаю вам сделать первый ряд ListView настраиваемым представлением с Button внутри.Чтобы сделать это, проверьте, как расширить BaseAdapter и LayoutInflate.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...