在ListView中使用更多元素时出现问题

时间:2010-10-26 10:59:46

标签: android listview

我的视图中有一个ListView和一个按钮。按钮位于列表视图的正下方。我的列表视图包含10个项目。当我运行应用程序时。我看不到视图中的按钮。由于10项我必须滚动列表视图才能看到所有项目。如果我使用4个项目,我可以看到按钮。为什么会这样? 请帮我。 谢谢..

6 个答案:

答案 0 :(得分:1)

我认为您希望按钮始终显示在屏幕上,无论屏幕/列表的大小如何。 只需将您的布局设为AbsoluteLayouts,如下所示

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

<Button android:id="@+id/button" 
android:layout_width="wrap_content" 
android:layout_height="wrap_content" 
android:text="Pixels" 
android:layout_y="50px" 
android:layout_x="80px"
android:focusable="true">
</Button>

   <ListView android:id="@+id/ListView01"
    android:layout_height="wrap_content"
    android:layout_width="fill_parent">
    </ListView>

</AbsoluteLayout>

&安培;在您的UI线程中使用该按钮上的bringToFront,如下所示

        @Override
        public void onCreate(Bundle icicle) {
            super.onCreate(icicle);
            setContentView(R.layout.main);

            Button b= (Button) findViewById(R.id.button);
            b.setText("Button");
                b.bringToFront();
....
    }

你完成了!

答案 1 :(得分:0)

听起来你可能没有正确使用布局。您是否在视图中使用线性布局?如果是这样,您可能想要查看相对布局。将您的按钮与parentBottom对齐,并使列表与parentTop和按钮上方对齐。这应该使列表滚动而不是展开。

答案 2 :(得分:0)

检查视图的宽度,确保将其设置为 wrap_contnet

答案 3 :(得分:0)

你可以像这样修改你的xml

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:orientation="vertical"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:weightSum="1">
    <ListView android:layout_width="match_parent" 
       android:id="@+id/listVie" 
       android:layout_weight="0.80" 
       android:layout_height="0dp">
    </ListView>

    <Button  
       android:layout_width="fill_parent"
       android:layout_weight="0.20" 
       android:layout_height="0dp"/>
</LinearLayout>

看看重量属性:

android:weightSum="1"

android:layout_weight="0.80"
android:layout_weight="0.20"

他们正在制作它:)

答案 4 :(得分:0)

你应该使用

android:weightSum="10"

android:layout_weight="8"
android:layout_weight="2"

答案 5 :(得分:0)

我的视图中有一个ListView和一个按钮。按钮位于列表视图的正下方。我的列表视图包含10个项目。当我运行应用程序时。我在视图内看不到按钮。

您可以使用类似的相对布局来实现

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="#00000000">

<ListView
    android:id="@+id/frg_product_inq_productSp"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:layout_above="@+id/btn_add"
    android:layout_alignParentTop="true"
    android:divider="#ffffff"
    android:dividerHeight="0.5dp"
    android:gravity="center" />
<Button
    android:id="@+id/btn_add"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_alignParentBottom="true"
    android:layout_centerHorizontal="true"
    android:layout_gravity="center"
    android:layout_marginTop="10dp"
    android:layout_marginBottom="10dp"
    android:text="ADD"
    android:textAppearance="?android:attr/textAppearanceMedium" />
</RelativeLayout>
  

对于所有设备,您的输出如下所示

enter image description here