如何使ListView控件滚动显示隐藏的项目和工具栏总是在我添加listview项目时显示?

时间:2013-11-19 14:57:08

标签: android

以下代码显示了我希望的UI a1.png,但代码存在一些问题,当我添加一些listview项目时,底部的工具栏按钮将不会显示,就像2.png一样。

我希望底部工具栏按钮始终显示,并且ListView控件可以在我添加一些listview项目时显示隐藏项目。

顺便说一句,我希望在ListView控件附近有btnAddNumber按钮,并且当添加listview项时btnAddNumber的位置将向下移动,并且当我添加许多listview项时btnAddNumber可能隐藏,但我可以滚动屏幕使其显示。

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:ads="http://schemas.android.com/apk/lib/com.google.ads"    
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:background="@drawable/border_ui"
    android:orientation="vertical" >

    <com.google.ads.AdView
        android:id="@+id/adView"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        ads:adSize="SMART_BANNER"
        ads:adUnitId="aaaaa"
        ads:loadAdOnCreate="false" />    

    <ListView
        android:id="@android:id/list"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:background="#FFFFFF"
        android:textSize="16sp" />

     <LinearLayout
            android:layout_width="fill_parent"
            android:layout_height="wrap_content"
            android:layout_gravity="top"
            android:gravity="center"
            android:orientation="horizontal" >

        <Button
            android:id="@+id/btnAddNumber"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="Add Number" />       
    </LinearLayout>        

    <TextView
        android:id="@+id/tvOnlyFullSpace"
        android:layout_width="wrap_content"
        android:layout_height="0dip"
        android:layout_weight="1"
        android:text="" />

    <LinearLayout
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:layout_gravity="center_vertical"
        android:background="#DCDCDC"
        android:gravity="center"
        android:orientation="horizontal" >

       <Button
            android:id="@+id/btnBack"
            style="@style/myTextAppearance"
            android:layout_width="0dip"
            android:layout_height="fill_parent"
            android:layout_weight="1"
            android:text="Back" />


        <Button
            android:id="@+id/btnNext"
            style="@style/myTextAppearance"
            android:layout_width="0dip"
            android:layout_height="fill_parent"
            android:layout_weight="1"
            android:text="Next" />

        <Button
            android:id="@+id/btnCancel"
            style="@style/myTextAppearance"
            android:layout_width="0dip"
            android:layout_height="fill_parent"
            android:layout_weight="1"
            android:text="Cancel" />

    </LinearLayout>

</LinearLayout>

a1.png
enter image description here

a2.png
enter image description here

1 个答案:

答案 0 :(得分:1)

您可以使用RelativeLayout

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

    <View
        android:id="@+id/adView"
        android:layout_width="wrap_content"
        android:layout_height="50dp"
        android:layout_alignParentTop="true"

      /> 
    <LinearLayout
        android:id="@+id/linearLayout1"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_alignParentBottom="true"
        android:layout_centerHorizontal="true"
        android:orientation="horizontal" >

        <Button
            android:id="@+id/btnBack"
            android:layout_width="0dp"
            android:layout_height="fill_parent"
            android:layout_weight="1"
            android:text="Back" />

        <Button
            android:id="@+id/btnNext"
            android:layout_width="0dp"
            android:layout_height="fill_parent"
            android:layout_weight="1"
            android:text="Next" />

        <Button
            android:id="@+id/btnCancel"
            android:layout_width="0dp"
            android:layout_height="fill_parent"
            android:layout_weight="1"
            android:text="Cancel" />
    </LinearLayout>

    <ListView
        android:id="@+id/listView1"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_below="@+id/adView"
        android:layout_above="@+id/btnAddNumber"
        android:layout_alignParentLeft="true" >

    </ListView>

        <Button
            android:id="@+id/btnAddNumber"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_above="@+id/linearLayout1"
            android:layout_centerHorizontal="true"
            android:text="Add Number" />

</RelativeLayout>

卡扣

现在3个按钮固定在屏幕的底部(始终)。在其上方有另一个添加数字,您可以在其上方拥有列表视图。

视图列表视图上方有一些空间(在您的情况下为adView);

enter image description here

编辑:

您还可以将按钮作为页脚添加到列表视图。

How to add a footer in ListView?