滚动视图中的未知项目

时间:2018-03-02 10:13:40

标签: android

这次我遇到了一个有趣的问题。我有一个Android上的在线应用程序,我必须更新。他们希望将折扣放在主页上,“Dispensary Info”就像我命名的那样,现在它在scrollview。问题是,我不知道药房里有多少产品(他们有更多的药房),我不知道有多少产品有折扣。他们的数量变化。作为初级程序员,我可以看到3个解决方案:

  1. 以编程方式生成textviews
  2. 使用仅从第二个元素开始的适配器创建listview
  3. 制作一张桌子。
  4. 我知道如何使用这些解决方案......

    <RelativeLayout
    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">
    
    <ScrollView
        android:id="@+id/scroll"
        android:layout_width="fill_parent"
        android:layout_marginBottom="50dp"
        android:layout_height="fill_parent">
    
        <RelativeLayout
            android:layout_width="match_parent"
            android:layout_height="wrap_content">
    
            <ImageView
                android:id="@+id/dispensaryPicture"
                android:layout_width="1000sp"
                android:scaleType="centerCrop"
                android:layout_height="150sp"
                android:layout_alignParentStart="true"
                android:layout_alignParentTop="true" />
    
            <RatingBar
                android:id="@+id/ratingBarDispensaries"
                android:layout_width="wrap_content"
                android:layout_height="50sp"
                android:layout_alignStart="@+id/dispensaryStateAndZipcode"
                android:layout_alignTop="@+id/textView14"
                android:progressTint="@color/valet_hop_gold"
                android:scaleX="0.5"
                android:scaleY="0.5" />
    
            <TextView
                android:id="@+id/dispensaryName"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_alignParentStart="true"
                android:layout_below="@+id/dispensaryPicture"
                android:layout_marginStart="21dp"
                android:layout_marginTop="15dp"
                android:text="TextView"
                android:textColor="@color/black" />
    
            <TextView
                android:id="@+id/dispensaryAdress"
                android:layout_width="wrap_content"
    
                android:layout_height="wrap_content"
                android:layout_alignStart="@+id/dispensaryName"
                android:layout_below="@+id/dispensaryName"
                android:text="TextView" />
    
            <TextView
                android:id="@+id/dispensaryStateAndZipcode"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_alignStart="@+id/dispensaryAdress"
                android:layout_below="@+id/dispensaryAdress"
                android:text="TextView" />
    
            <TextView
                android:id="@+id/dispensaryRaiting"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_alignStart="@+id/dispensaryStateAndZipcode"
                android:layout_below="@+id/dispensaryStateAndZipcode"
                android:text="Raiting:" />
    
            <TextView
                android:id="@+id/dispensarySchedule"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_alignStart="@+id/ratingBarDispensaries"
                android:layout_below="@+id/ratingBarDispensaries"
                android:text="TextView" />
    
            <TextView
                android:id="@+id/dispensaryDescription"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_alignStart="@+id/dispensaryRaiting"
                android:layout_below="@+id/dispensarySchedule"
                android:layout_marginTop="17dp"
                android:text="TextView" />
    
            <TextView
                android:id="@+id/indicator"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_alignStart="@+id/dispensaryDescription"
                android:layout_below="@+id/dispensaryDescription"
                android:layout_marginTop="15sp"
                android:text="FIRST TIME PATIENT DEAL"
                android:textColor="@color/valet_green" />
    
            <TextView
                android:id="@+id/firstTimeDeal"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_alignStart="@+id/indicator"
                android:layout_below="@+id/indicator"
                android:layout_marginBottom="5sp"
                android:layout_marginTop="15sp"
                android:text="" />
    
            <Button
                android:id="@+id/writeAReview"
                android:layout_width="30dp"
                android:layout_height="30dp"
                android:layout_alignEnd="@+id/textView14"
                android:layout_below="@+id/dispensaryName"
                android:layout_marginEnd="14dp"
                android:background="@drawable/pencil"
                android:text="" />
    
            <TextView
                android:id="@+id/textView14"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_alignBottom="@+id/dispensaryStateAndZipcode"
                android:layout_alignParentEnd="true"
                android:layout_marginEnd="13dp"
                android:text="Write a review"
                android:textSize="10sp" />
            <TextView
                android:id="@+id/miles"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_above="@+id/writeAReview"
                android:textSize="15dp"
                android:layout_alignEnd="@+id/textView14"
                android:text="TextView" />
        </RelativeLayout>
    
    </ScrollView>
    

    这是xml文件。我认为如果将它放入一个项目并且自己查看页面的设置方式会更容易理解。

1 个答案:

答案 0 :(得分:0)

您可以在NestedScrollView

中使用ListView
<android.support.v4.widget.NestedScrollView
    android:layout_width="match_parent"
    android:layout_height="match_parent">

    <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="match_parent">

        <!-- some views -->

        <android.support.v7.widget.RecyclerView
            android:layout_width="match_parent"
            android:layout_height="wrap_content"/>

        <!-- some views -->

    </LinearLayout>
</android.support.v4.widget.NestedScrollView>