我正嘗試使用材料設計的圖像模式實現靈活的空間。在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
佈局轉換適配器才能使用RecyclerView
following this Android Developers example,但我不知道該怎麼做,因爲我得到了太多的元素結合和示例由簡單的陣列字符串。
爲了匹配上面的佈局或其他更簡單的解決方案(也許RecyclerView不是最好的方向),如果它存在,我真的很感激適配器的樣子。
這個例子有卡片視圖,顯然我不需要卡片視圖,因爲它看起來與初始佈局有很大的不同... – Jjang