使用 LinearLayout 向 ListView 添加标题,Listview 被推离屏幕(Xamarin Android)
Posted
技术标签:
【中文标题】使用 LinearLayout 向 ListView 添加标题,Listview 被推离屏幕(Xamarin Android)【英文标题】:Adding headers to ListView with LinearLayout, Listview gets pushed off screen (Xamarin Android) 【发布时间】:2021-05-22 03:23:16 【问题描述】:正如标题所说,我想在显示地址的列表视图中添加一些标题。似乎我基本上可以在页面上显示的列表视图或标题之间进行选择。 在下图中,我的标题(4 个文本视图)采用线性布局。当线性布局在我的代码中时,我的列表视图不显示
当我删除我的线性布局时,我的列表视图出现了!我的代码如下:
<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_
android:layout_
android:orientation="vertical"
android:id="@+id/frameLayoutParent"
android:background="@android:color/holo_green_dark">
<android.support.v4.widget.SwipeRefreshLayout
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_
android:layout_
android:orientation="vertical"
android:id="@+id/swipeLayout">
<LinearLayout
android:layout_
android:layout_
android:orientation="horizontal"
android:id="@+id/headerLinearLayout">
<TextView
android:text="Address Line"
android:id="@+id/headerAddressLine"
android:layout_
android:layout_
android:layout_weight="25"
android:gravity="center_horizontal"
android:textSize="16sp"/>
<TextView
android:text="City"
android:id="@+id/headerCity"
android:layout_
android:layout_
android:layout_weight="25"
android:gravity="center_horizontal"
android:textSize="16sp"/>
<TextView
android:text="State"
android:id="@+id/headerState"
android:layout_
android:layout_
android:layout_weight="25"
android:gravity="center_horizontal"
android:textSize="16sp"/>
<TextView
android:text="Zip Code"
android:id="@+id/headerZipCode"
android:layout_
android:layout_
android:layout_weight="25"
android:gravity="center_horizontal"
android:textSize="16sp"/>
</LinearLayout>
<ListView
android:paddingTop="40dp"
android:layout_
android:layout_
android:id="@+id/myListView"/>
</android.support.v4.widget.SwipeRefreshLayout>
<EditText
android:layout_
android:layout_
android:id="@+id/editSearch"
android:hint="Search ZipCodes"
android:textColor="#000"
android:editable="false"/>
</FrameLayout>
我试过了:
将列表视图的位置切换到线性布局上方 添加一个额外的线性布局以包含两个标题,然后是列表视图 在列表视图正上方添加 2dp 高度视图 弄乱元素的高度,尝试 wrap_content、match_parent 的不同组合,并设置精确的高度感谢您的帮助!
【问题讨论】:
【参考方案1】:根据您的代码和描述,您可以尝试在 SwipeRefreshLayout 中添加一个 LinearLayout,然后在 LinearLayout 中添加子元素,如下所示:
<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_
android:layout_
android:orientation="vertical"
android:id="@+id/frameLayoutParent"
android:background="@android:color/holo_green_dark">
<android.support.v4.widget.SwipeRefreshLayout
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_
android:layout_
android:orientation="vertical"
android:id="@+id/swipeLayout">
<LinearLayout
android:layout_
android:layout_
android:orientation="vertical">
<LinearLayout
android:layout_
android:layout_
android:orientation="horizontal"
android:id="@+id/headerLinearLayout">
<TextView
android:text="Address Line"
android:id="@+id/headerAddressLine"
android:layout_
android:layout_
android:layout_weight="25"
android:gravity="center_horizontal"
android:textSize="16sp"/>
<TextView
android:text="City"
android:id="@+id/headerCity"
android:layout_
android:layout_
android:layout_weight="25"
android:gravity="center_horizontal"
android:textSize="16sp"/>
<TextView
android:text="State"
android:id="@+id/headerState"
android:layout_
android:layout_
android:layout_weight="25"
android:gravity="center_horizontal"
android:textSize="16sp"/>
<TextView
android:text="Zip Code"
android:id="@+id/headerZipCode"
android:layout_
android:layout_
android:layout_weight="25"
android:gravity="center_horizontal"
android:textSize="16sp"/>
</LinearLayout>
<ListView
android:layout_
android:layout_
android:id="@+id/myListView"/>
</LinearLayout>
</android.support.v4.widget.SwipeRefreshLayout>
<EditText
android:layout_
android:layout_
android:layout_gravity="bottom"
android:id="@+id/editSearch"
android:hint="Search ZipCodes"
android:textColor="#000"
android:editable="false"/>
截图是:
我修改了editSearch EditTextandroid:layout_gravity="bottom"
,你可以随意改。
【讨论】:
再次感谢Cherry的帮助!成功了!以上是关于使用 LinearLayout 向 ListView 添加标题,Listview 被推离屏幕(Xamarin Android)的主要内容,如果未能解决你的问题,请参考以下文章
LinearLayout 中的 ViewPager ListView。滑动 ViewPager 应该滑动整个页面吗?
使用 LinearLayout 向 ListView 添加标题,Listview 被推离屏幕(Xamarin Android)
如何获取动态添加到LinearLayout的点击子视图的ID?