我的布局如下:
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:animateLayoutChanges="true"
android:orientation="vertical">
<eddine.charef.mechalikh.swipedemo.NotifyingScrollView
android:id="@+id/scroll_view"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_marginTop="-40dp"
android:fillViewport="false">
<RelativeLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical">
<ImageView
android:id="@+id/image_header"
android:layout_width="match_parent"
android:layout_height="250dp"
android:src="@drawable/stethoscope"
android:scaleType="centerCrop" />
<View
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:id="@+id/view"
android:background="@drawable/gradient"/>
<View
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:id="@+id/view2"
android:layout_above="@+id/linearLay"
android:background="@drawable/gradient2"
android:visibility="gone" />
<LinearLayout
android:orientation="vertical"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_alignParentRight="true"
android:layout_alignParentEnd="true"
android:layout_marginTop="-10dp"
android:layout_below="@+id/image_header"
android:id="@+id/linearLay"
android:animateLayoutChanges="true"
android:background="#ffffff"
android:layout_alignTop="@+id/editPrenom">
<Space
android:layout_width="fill_parent"
android:layout_height="22dp"
android:id="@+id/space_spinner"
android:visibility="gone" />
<Spinner
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:id="@+id/spinner3"
android:layout_alignParentLeft="true"
android:layout_alignParentStart="true"
android:layout_alignParentRight="true"
android:layout_alignParentEnd="true"
android:visibility="gone"
android:gravity="center" />
</LinearLayout>
<ListView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/listView5"
android:layout_alignParentBottom="true"
android:layout_alignParentRight="true"
android:layout_alignParentEnd="true"
android:layout_alignParentLeft="true"
android:layout_alignParentStart="true"
android:layout_below="@+id/linearLay"
android:visibility="visible" />
<TextView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:textAppearance="?android:attr/textAppearanceLarge"
android:text="@string/bienvenue"
android:id="@+id/textView20"
android:textColor="#000"
android:layout_centerHorizontal="true"
android:layout_below="@+id/view"
android:visibility="visible"
android:layout_marginTop="20dp"
android:gravity="left"
android:layout_marginLeft="10dp"
android:layout_marginRight="10dp" />
<TextView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:textAppearance="?android:attr/textAppearanceLarge"
android:id="@+id/textView21"
android:textColor="#000"
android:layout_below="@id/textView20"
android:layout_centerHorizontal="true"
android:visibility="visible"
android:gravity="left"
android:layout_marginLeft="10dp"
android:layout_marginRight="10dp" />
<ImageView
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:id="@+id/imageView5"
android:layout_below="@+id/linearLay"
android:src="@drawable/shadow_divider"
android:layout_marginTop="-3dp" />
<ImageView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/imageView2"
android:adjustViewBounds="true"
android:src="@drawable/param"
android:onClick="params_click"
android:visibility="visible"
android:layout_above="@+id/linearLay"
android:layout_alignParentLeft="true"
android:layout_marginLeft="15dp"
android:layout_marginBottom="-25dp"
android:scaleType="center" />
</RelativeLayout>
</eddine.charef.mechalikh.swipedemo.NotifyingScrollView>
<ImageView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/image_scroll_up_2"
android:adjustViewBounds="true"
android:src="@drawable/scroll_up"
android:onClick="scroll_up"
android:visibility="invisible"
android:layout_above="@+id/space"
android:layout_alignParentRight="true"
android:layout_alignParentEnd="true"
android:layout_marginRight="15dp" />
<Space
android:layout_width="fill_parent"
android:layout_height="15dp"
android:layout_alignParentBottom="true"
android:layout_alignParentLeft="true"
android:layout_alignParentStart="true"
android:id="@+id/space" />
</RelativeLayout>
在运行时listView
内部的scrollView
将被更新...当用户单击“日期”时,它显示一切正常(没问题)当他单击“跟随”时,即使listview
为空并且滚动视图正常(没有问题,也无法滚动,因为列表为空)但是,当选择“消息”时,当列表为空或只有几个项目时...滚动视图可以滚动(我的意思是有很多空间可以看到图片)
<< img src =“ https://image.soinside.com/eyJ1cmwiOiAiaHR0cHM6Ly9pLnN0YWNrLmltZ3VyLmNvbS9NMnRkc5wbmcifQ==” alt =“在此处输入图像描述”>
此图片中心的白色光盘是设置中开发人员选项的触摸点,不属于我的版面设计
您可以看到列表在第二张图片中的结尾(listView的背景与scrollView不同)
所以为什么不调整scrollView的大小?
[注意:我使用此功能调整listView的大小,以便将其显示在scrollView中
ListAdapter listAdapter = listView.getAdapter();
if (listAdapter == null) {
// pre-condition
return;
}
int totalHeight = listView.getPaddingTop() + listView.getPaddingBottom();
for (int i = 0; i < listAdapter.getCount(); i++) {
View listItem = listAdapter.getView(i, null, listView);
if (listItem instanceof ViewGroup) {
listItem.setLayoutParams(new LayoutParams(LayoutParams.WRAP_CONTENT, LayoutParams.WRAP_CONTENT));
}
listItem.measure(0, 0);
totalHeight += listItem.getMeasuredHeight();
}
ViewGroup.LayoutParams params = listView.getLayoutParams();
params.height = totalHeight + (listView.getDividerHeight() * (listAdapter.getCount() - 1));
listView.setLayoutParams(params);
}
我在所有项目更改的地方都称呼它。
我不明白为什么要将scollview放在列表视图中,您尝试执行视差还是使用工具栏播放?