2012-10-19 86 views
2

我有以下佈局顯示聯繫人詳細信息,也有一個可擴展列表。但問題是Expandable列表視圖是固定的,但我已經給它fill_parent的高度,所以它必須採用可用的全高。此外,滾動視圖僅應用於列表而不是整個佈局。如果有人有任何想法,請幫助我。ScrollView和RelativeLayout滾動問題ExpandableListView

<?xml version="1.0" encoding="utf-8"?> 
<ScrollView xmlns:android="http://schemas.android.com/apk/res/android" 
    xmlns:ads="http://schemas.android.com/apk/lib/com.google.ads" 
    android:id="@+id/scroll" 
    android:layout_width="fill_parent" 
    android:layout_height="fill_parent" 
    android:background="#FFFFFF" 
    android:scrollbars="vertical|horizontal" > 

    <RelativeLayout 
     android:layout_width="fill_parent" 
     android:layout_height="fill_parent" 
     > 

     <RelativeLayout 
      android:id="@+id/vsHeader" 
      android:layout_width="fill_parent" 
      android:layout_height="wrap_content" 
      android:background="@drawable/header" > 

      <Button 
       android:id="@+id/btnHome" 
       android:layout_width="wrap_content" 
       android:layout_height="wrap_content" 
       android:layout_centerVertical="true" 
       android:background="@drawable/home" 
       android:onClick="btnHomeClick" /> 
     </RelativeLayout> 

     <RelativeLayout 
      android:id="@+id/contactheader" 
      android:layout_width="fill_parent" 
      android:layout_height="wrap_content" 
      android:layout_below="@id/vsHeader" 
      android:padding="5dip" > 

      <TextView 
       android:id="@+id/txtContactName" 
       android:layout_width="wrap_content" 
       android:layout_height="wrap_content" 
       android:layout_marginBottom="5dip" 
       android:text="Hello Taxi" 
       android:textColor="@color/autoText" 
       android:textSize="@dimen/text_size_large" 
       android:textStyle="bold" /> 

      <ImageView 
       android:id="@+id/img_address" 
       android:layout_width="25dip" 
       android:layout_height="25dip" 
       android:layout_below="@id/txtContactName" 
       android:layout_marginBottom="5dip" 
       android:contentDescription="@string/content_description" 
       android:src="@drawable/address" /> 

      <TextView 
       android:id="@+id/txt_Address" 
       android:layout_width="wrap_content" 
       android:layout_height="wrap_content" 
       android:layout_below="@id/txtContactName" 
       android:layout_marginBottom="15dip" 
       android:layout_marginLeft="15dip" 
       android:layout_toRightOf="@+id/img_address" 
       android:maxLines="5" 
       android:singleLine="false" 
       android:textColor="@color/autoText" /> 

      <ImageView 
       android:id="@+id/img_phone" 
       android:layout_width="25dip" 
       android:layout_height="25dip" 
       android:layout_below="@id/txt_Address" 
       android:layout_marginBottom="5dip" 
       android:contentDescription="@string/content_description" 
       android:src="@drawable/contact_no" /> 

      <TextView 
       android:id="@+id/txtPhone" 
       android:layout_width="wrap_content" 
       android:layout_height="wrap_content" 
       android:layout_below="@id/txt_Address" 
       android:layout_marginBottom="15dip" 
       android:layout_marginLeft="15dip" 
       android:layout_toRightOf="@id/img_phone" 
       android:textColor="@color/autoText" /> 

      <ImageView 
       android:id="@+id/img_mobile" 
       android:layout_width="25dip" 
       android:layout_height="25dip" 
       android:layout_below="@id/txtPhone" 
       android:layout_marginBottom="5dip" 
       android:contentDescription="@string/content_description" 
       android:src="@drawable/mobile" /> 

      <TextView 
       android:id="@+id/txtmobilenumber" 
       android:layout_width="wrap_content" 
       android:layout_height="wrap_content" 
       android:layout_below="@id/txtPhone" 
       android:layout_marginBottom="15dip" 
       android:layout_marginLeft="15dip" 
       android:layout_toRightOf="@id/img_mobile" 
       android:textColor="@color/autoText" /> 

      <ImageView 
       android:id="@+id/img_web" 
       android:layout_width="25dip" 
       android:layout_height="25dip" 
       android:layout_below="@id/txtmobilenumber" 
       android:layout_marginBottom="5dip" 
       android:contentDescription="@string/content_description" 
       android:src="@drawable/www" /> 

      <TextView 
       android:id="@+id/txtweb" 
       android:layout_width="wrap_content" 
       android:layout_height="wrap_content" 
       android:layout_below="@id/txtmobilenumber" 
       android:layout_marginBottom="15dip" 
       android:layout_marginLeft="15dip" 
       android:layout_toRightOf="@id/img_web" 
       android:textColor="@color/autoText" /> 

      <ImageView 
       android:id="@+id/img_email" 
       android:layout_width="25dip" 
       android:layout_height="25dip" 
       android:layout_below="@id/txtweb" 
       android:layout_marginBottom="15dip" 
       android:contentDescription="@string/content_description" 
       android:src="@drawable/mail" /> 

      <TextView 
       android:id="@+id/txtemail" 
       android:layout_width="wrap_content" 
       android:layout_height="wrap_content" 
       android:layout_below="@id/txtweb" 
       android:layout_marginBottom="15dip" 
       android:layout_marginLeft="15dip" 
       android:layout_toRightOf="@id/img_email" 
       android:textColor="@color/autoText" /> 

      <Button 
       android:id="@+id/btn_rate_it" 
       android:layout_width="150dip" 
       android:layout_height="wrap_content" 
       android:layout_below="@id/img_email" 
       android:layout_centerHorizontal="true" 
       android:background="@drawable/greenbutton" 
       android:text="@string/rate_it" 
       android:textColor="#ffffff" /> 
     </RelativeLayout> 

     <ExpandableListView 
      android:id="@+id/expandable_list" 
      android:layout_width="fill_parent" 
      android:layout_height="wrap_content" 
      android:layout_below="@id/contactheader" 
      android:layout_marginTop="10dip" 
      android:groupIndicator="@drawable/group_indicator" /> 
    </RelativeLayout> 

</ScrollView> 

IMAGE: - 你可以看到,只有列表視圖已滾動,所以當你滾動UI變得有些難看。我不想這樣做。我希望整個佈局滾動。

enter image description here

+1

你不能有任何形式的滾動元件的滾動視圖內.. –

+0

如果我刪除了滾動視圖,然後也不會做出任何影響。 – Scorpion

+0

我希望整個佈局不僅滾動列表。這樣UI將會很好看。如果您有任何想法,請幫助我。 – Scorpion

回答

2

我知道這是爲時已晚,但我寫的其他人說遇到此problem.The問題是當你使用ExpandableListView沒有定義correctly.So滾動型ExpandableListView高度內我計算編程的高度是這樣的:

//for converting dp to pixel 
final float scale = getApplicationContext().getResources().getDisplayMetrics().density; 
//when all the headers are Collapse 
expListView.getLayoutParams().height=listDataHeader.size()*(int) (43 * scale + 0.5f); 

expListView.setOnGroupExpandListener(new OnGroupExpandListener() { 

       @Override 
       public void onGroupExpand(int groupPosition) { 

        expListView.getLayoutParams().height+=listDataChild.get(listDataHeader.get(groupPosition)).size()*(int) (34 * scale + 0.5f); 

       } 
      }); 

      // Listview Group collasped listener 
      expListView.setOnGroupCollapseListener(new OnGroupCollapseListener() { 

       @Override 
       public void onGroupCollapse(int groupPosition) { 
        expListView.getLayoutParams().height-=listDataChild.get(listDataHeader.get(groupPosition)).size()*(int) (34 * scale + 0.5f); 

       } 
      }); 
+0

什麼是listDataChild在這裏? – Thirumalvalavan