0
我有如下佈局:調整滾動視圖時,其含量的變化
<?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>
在運行時scrollView
內listView
將被更新... 當用戶點擊「日期」,它顯示一切正常(沒問題) 當他點擊「跟隨」,即使listview
是空的,滾動視圖是好的(沒問題,不能滾動因爲列表是空的) 但是當選擇「消息」,當列表爲空或只有少數項目時。 ..滾動視圖可以滾動(我的意思是很多空間見圖)
白DISC在這張照片的中心是觸摸點開發商選項中的設置,這不是我的佈局的部分
你能看到該列表結束於圖像二(listView的背景與scrollView不一樣)
那麼爲什麼scrollView不會調整大小?
注:我用這個功能來調整的ListView所以它會在滾動視圖
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);
}
顯示和我到處把它當項目發生變化。
是,就是這樣..我生病試試這個和報告,由於來回你的答案 –