在 google 地点选择器示例代码中使用 cardstream

Use of cardstream in google place picker sample code

google place picker 中的示例代码使用了 cardstream 库。这是一个开源库吗?如果是,我在哪里可以找到使用它的 documentation/guide?

github URL: https://github.com/googlesamples/android-play-places/tree/master/PlacePicker

我认为 cardstream java 代码是一组很棒的 java 方法,可以在您的应用程序中使用。虽然没有 javacardstream 文档,但您可以阅读代码本身中的方法描述,因为方法描述写在各个方法之上。

不过,我会确保您的应用程序可以使用 cardstream,然后再将其导入您的代码。

例如,如果我查看代码,我可以看到 cardstream 只是在操纵 linearLayout 而不是真正将卡片添加到 recyclerview / listview。

mainactivity 从这里显示布局https://github.com/googlesamples/android-play-places/blob/master/PlacePicker/Application/src/main/res/layout/activity_main.xml

<fragment
    android:id="@+id/fragment_cardstream"
    android:name="com.example.google.playservices.placepicker.cardstream.CardStreamFragment"
    xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    tools:context=".MainActivity"
    tools:layout="@layout/cardstream"/>

片段然后从这里拉布局:

https://github.com/googlesamples/android-play-places/blob/master/PlacePicker/Application/src/main/res/layout/cardstream.xml

<ScrollView xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:fillViewport="true">

    <com.example.google.playservices.placepicker.cardstream.CardStreamLinearLayout
        style="@style/CardStream"
        android:id="@+id/card_stream"
        android:layout_width="match_parent"
        android:layout_height="match_parent"/>

</ScrollView>

片段在这里使用的布局是 cardStreamLinearLayout。

如果您的应用只是想从 linearLayout 中为几张卡片添加 addViews/removeView,那么这个库很棒。但是大多数 android 应用程序都希望添加 'stream' 张卡片,因此从效率的角度来看,将它们添加到 linearLayout 上并没有多大意义,因为那样效率真的很低。

android 上有可用的工具,例如 listview 或 recyclerview,它们经过优化可以提供更好的体验。