2015-07-11 78 views
2

我正嘗試使用材料設計的圖像模式實現靈活的空間。在Android中實現適用於RecyclerView的適配器

爲了做到這一點,我遵循this tutorial

的問題是,該教程使用RecyclerView,我有另一種看法,我想使用的只是一個簡單的ScrollView具有相對的觀點:

<ScrollView xmlns:android="http://schemas.android.com/apk/res/android" 
    xmlns:app="http://schemas.android.com/apk/res-auto" 
    android:layout_width="fill_parent" 
    android:layout_height="fill_parent" 
    app:layout_behavior="@string/appbar_scrolling_view_behavior"> 

    <RelativeLayout 
     android:layout_width="match_parent" 
     android:layout_height="wrap_content" 
     android:paddingLeft="20dp" 
     android:paddingRight="20dp" > 

     <TextView 
      android:id="@+id/loggedInTitle" 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content" 
      android:layout_alignParentLeft="true" 
      android:layout_below="@+id/separator1" 
      android:layout_marginLeft="10dp" 
      android:layout_marginTop="15dp" 
      android:text="@string/profile_logged_in_with_title" 
      android:textSize="18sp" /> 

     <ImageView 
      android:id="@+id/loggedInPlatformLogo" 
      android:layout_width="95dp" 
      android:layout_height="30dp" 
      android:layout_alignBottom="@+id/loggedInTitle" 
      android:layout_centerHorizontal="true" 
      android:layout_marginBottom="-4dp" 
      android:layout_marginLeft="30dp" 
      android:layout_toRightOf="@+id/loggedInTitle" 
      android:background="@drawable/facebook_logo" 
      android:gravity="center_horizontal|center_vertical" /> 

     <View 
      android:id="@+id/separator2" 
      android:layout_width="match_parent" 
      android:layout_height="1dp" 
      android:layout_alignLeft="@+id/separator1" 
      android:layout_below="@+id/loggedInTitle" 
      android:layout_marginTop="17dp" 
      android:background="@android:color/darker_gray" /> 

     <ImageView 
      android:id="@+id/homeIcon" 
      android:layout_width="30dp" 
      android:layout_height="30dp" 
      android:layout_alignLeft="@+id/loggedInTitle" 
      android:layout_below="@+id/separator2" 
      android:layout_marginTop="10dp" 
      android:background="@drawable/home_icon" /> 

     <TextView 
      android:id="@+id/homeTitle" 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content" 
      android:layout_alignBottom="@+id/homeIcon" 
      android:layout_marginBottom="4dp" 
      android:layout_marginLeft="15dp" 
      android:layout_toRightOf="@+id/homeIcon" 
      android:text="@string/profile_home_title" 
      android:textSize="18sp" 
      android:textStyle="bold" /> 

     <AutoCompleteTextView 
      android:id="@+id/homeAddressEdit" 
      android:layout_width="match_parent" 
      android:layout_height="wrap_content" 
      android:layout_alignLeft="@+id/homeIcon" 
      android:layout_below="@+id/homeIcon" 
      android:layout_marginTop="2dp" 
      android:ems="10" 
      android:hint="@string/profile_home_address_hint" 
      android:inputType="textAutoComplete" 
      android:textSize="16sp" /> 

     <View 
      android:id="@+id/separator3" 
      android:layout_width="match_parent" 
      android:layout_height="1dp" 
      android:layout_alignLeft="@+id/separator1" 
      android:layout_below="@+id/homeAddressEdit" 
      android:layout_marginTop="8dp" 
      android:background="@android:color/darker_gray" /> 

     <ImageView 
      android:id="@+id/workIcon" 
      android:layout_width="30dp" 
      android:layout_height="30dp" 
      android:layout_alignLeft="@+id/homeIcon" 
      android:layout_below="@+id/separator3" 
      android:layout_marginTop="10dp" 
      android:background="@drawable/work_icon" /> 

     <TextView 
      android:id="@+id/workTitle" 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content" 
      android:layout_alignBottom="@+id/workIcon" 
      android:layout_marginBottom="4dp" 
      android:layout_marginLeft="15dp" 
      android:layout_toRightOf="@+id/workIcon" 
      android:text="@string/profile_work_title" 
      android:textSize="18sp" 
      android:textStyle="bold" /> 

     <AutoCompleteTextView 
      android:id="@+id/workAddressEdit" 
      android:layout_width="match_parent" 
      android:layout_height="wrap_content" 
      android:layout_alignLeft="@+id/workIcon" 
      android:layout_below="@+id/workIcon" 
      android:layout_marginTop="2dp" 
      android:ems="10" 
      android:hint="@string/profile_work_address_hint" 
      android:inputType="textAutoComplete" 
      android:textSize="16sp" /> 

     <View 
      android:id="@+id/separator4" 
      android:layout_width="match_parent" 
      android:layout_height="1dp" 
      android:layout_alignLeft="@+id/separator1" 
      android:layout_below="@+id/workAddressEdit" 
      android:layout_marginTop="8dp" 
      android:background="@android:color/darker_gray" /> 

     <ImageView 
      android:id="@+id/privacyIcon" 
      android:layout_width="30dp" 
      android:layout_height="30dp" 
      android:layout_alignLeft="@+id/workIcon" 
      android:layout_below="@+id/separator4" 
      android:layout_marginTop="13dp" 
      android:background="@drawable/privacy_icon" /> 

     <TextView 
      android:id="@+id/privacyTitle" 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content" 
      android:layout_alignBottom="@+id/privacyIcon" 
      android:layout_marginBottom="4dp" 
      android:layout_marginLeft="15dp" 
      android:layout_toRightOf="@+id/privacyIcon" 
      android:text="@string/profile_privacy_title" 
      android:textSize="18sp" 
      android:textStyle="bold" /> 

     <Spinner 
      android:id="@+id/privacySpinner" 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content" 
      android:layout_alignLeft="@+id/privacyIcon" 
      android:layout_below="@+id/privacyIcon" 
      android:layout_marginBottom="4dp" 

      android:layout_marginTop="-3dp" 
      android:entries="@array/profile_privacy_settings" 
      android:prompt="@string/profile_privacy_title" /> 

    </RelativeLayout> 
</ScrollView> 

於是,我就代替RecyclerView在該教程的佈局xml引用了這個視圖,但結果是我無法滾動視圖。 我想這是因爲ScrollView與靈活的空間模式不兼容。

下一頁嘗試嘗試上述ScrollView佈局轉換適配器才能使用RecyclerViewfollowing this Android Developers example,但我不知道該怎麼做,因爲我得到了太多的元素結合和示例由簡單的陣列字符串。

爲了匹配上面的佈局或其他更簡單的解決方案(也許RecyclerView不是最好的方向),如果它存在,我真的很感激適配器的樣子。

回答