Java 在android中,如何在具有匹配父项作为宽度和高度的listview下方设置按钮
我正在处理一个具有自定义listview的项目。由于baseadapter的Java 在android中,如何在具有匹配父项作为宽度和高度的listview下方设置按钮,java,android,listview,android-listview,Java,Android,Listview,Android Listview,我正在处理一个具有自定义listview的项目。由于baseadapter的getView()方法一直被调用为listview中行数的三倍,有人建议我将listview的宽度和高度更改为match\u parent。但现在的问题是listview下面有一个按钮,现在不可见。如何使其可见 我所指的职位是: 我的xml文件: <?xml version="1.0" encoding="utf-8"?> <RelativeLayout xmlns:android="http://sc
getView()
方法一直被调用为listview中行数的三倍,有人建议我将listview的宽度和高度更改为match\u parent
。但现在的问题是listview下面有一个按钮,现在不可见。如何使其可见
我所指的职位是:
我的xml文件:
<?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="fill_parent"
>
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentTop="true"
android:layout_centerHorizontal="true"
android:text="LIST OF TASKS" />
<ListView
android:id="@+id/list_tasks_final"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_alignParentLeft="true"
android:layout_alignParentTop="true"
android:layout_marginTop="50px"
>
</ListView>
<Button
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_below="@+id/list_tasks_final"
android:layout_centerHorizontal="true"
android:text="SUBMIT JOB"
android:id="@+id/btnjobsubmit"
/>
</RelativeLayout>
问题是按钮现在不可见。如何使其可见?请参阅我的代码
例如,您应该将列表视图包装到另一个视图LinearLayout
,并设置该布局的高度
<?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="fill_parent"
android:orientation="vertical"
>
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="LIST OF TASKS" />
<LinearLayout
android:layout_width="match_parent"
android:layout_height="300dp">
<ListView
android:id="@+id/list_tasks_final"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_marginTop="50px"
>
</ListView>
</LinearLayout>
<Button
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_centerHorizontal="true"
android:text="SUBMIT JOB"
android:id="@+id/btnjobsubmit"
/>
</LinearLayout>
您应该使用
线性布局,而不是使用RelativeLayout
。它提供了更大的灵活性,可以根据我们的需要放置不同的视图
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentTop="true"
android:layout_gravity="center_horizontal"
android:text="LIST OF TASKS" />
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical">
<ListView
android:id="@+id/list_tasks_final"
android:layout_width="match_parent"
android:layout_height="200dp"
android:layout_alignParentLeft="true"
android:layout_alignParentTop="true"
android:layout_marginTop="10dp"
android:layout_marginBottom="10dp"/>
</LinearLayout>
<Button
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center_horizontal"
android:text="SUBMIT JOB"
android:id="@+id/btnjobsubmit" />
</LinearLayout>
这里的问题是,您的列表使用了屏幕的所有空间(布局高度=匹配父级,布局宽度=匹配父级),并且按钮具有下面的属性布局,然后它显示在整个屏幕下面
要解决此问题,只需删除下面的属性布局_:
android:layout_below="@+id/list_tasks_final"
你能再简短一点吗?你的预期结果和当前结果是什么?如果您以图表方式发布此结果,我们将很容易帮助您。@YuvaRaj。我希望在listview下面有一个按钮。但是由于listview有匹配的父项,它填满了整个屏幕,按钮不可见。我希望按钮可见。listview的结束标记应该在LinearLayBurst之前,但我仍然在图形布局中看不到按钮。请参阅我的新编辑!我刚刚为线性布局添加了方向,并降低了列表视图的父视图的高度,现在我可以看到按钮了@AchuthanM单击“全部预览”
,您可以在大屏幕上看到该按钮。在emulator中运行它并检查它是否工作。@Achuthan您还有问题吗?我希望listview在宽度和高度上具有匹配的父级。因此,它显然具有fill parent属性。那么,如果listview占据整个屏幕,按钮将如何显示。?