我如何以高效,清洁的方式通过Android Food Deliver App重新设计此信息屏幕? (尤其是“ ALLGEMEINE INFO”部分)
目前,我正在使用ScrollView进行此操作,并填充了Main LinearLayout(orientation = vertical)。里面有更多交错的线性布局,这使整个事情变得复杂而不干净。
这是我当前的代码:
<ScrollView
android:layout_width="0dp"
android:layout_height="0dp"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical">
<ImageView
android:id="@+id/imageView"
android:layout_width="match_parent"
android:layout_height="wrap_content"
app:srcCompat="@drawable/food_1" />
<TextView
android:id="@+id/textView3"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="Restaurant"
android:textAlignment="center"
android:textAppearance="@style/TextAppearance.AppCompat.Large" />
<me.zhanghai.android.materialratingbar.MaterialRatingBar
style="@style/Widget.MaterialRatingBar.RatingBar.Indicator.Small"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_below="@+id/restaurant_item_num_ratings"
android:layout_alignLeft="@+id/restaurant_item_num_ratings"
android:layout_centerHorizontal="true"
android:layout_gravity="center_horizontal" />
<TextView
android:id="@+id/textView4"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_gravity="center_horizontal"
android:text="32 Bewertungen"
android:textAlignment="center" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="ALLGEMEINE INFO"
android:layout_marginTop="@dimen/activity_vertical_margin"
android:layout_marginBottom="@dimen/activity_vertical_margin"
android:layout_marginStart="8dp"/>
<LinearLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:orientation="horizontal">
<ImageView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:src="@drawable/ic_settings_black_24dp"
android:layout_marginStart="@dimen/activity_horizontal_margin"
android:layout_marginEnd="@dimen/activity_horizontal_margin"/>
<LinearLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:orientation="vertical">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="11:00 - 23:00"
android:textStyle="bold" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Öffnungszeiten" />
</LinearLayout>
</LinearLayout>
<LinearLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:orientation="horizontal"
android:layout_marginTop="4dp">
<ImageView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:src="@drawable/ic_map_black_24dp"
android:layout_marginStart="@dimen/activity_horizontal_margin"
android:layout_marginEnd="@dimen/activity_horizontal_margin"/>
<LinearLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:orientation="vertical">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Some Restaurant"
android:textStyle="bold" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Firmenname" />
</LinearLayout>
</LinearLayout>
</LinearLayout>
</ScrollView>
及其设计预览:
是否有一种“清洁”的设计方式?使用RecyclerView等,还是其他? 顺便说一句,各个元素将从数据库中加载。
答案 0 :(得分:0)
使用RecyclerView和对象填充它,而不是固定的LinearLayout
某些数据可能不存在,因此您将获得空行。...
答案 1 :(得分:0)
正如Artem所说,在这里,Recyclerview是有益的。我也建议根据您希望的信息显示方式在Cardviews中放置信息,这样您就可以制作出看起来非常干净的信息/详细信息布局。如果操作正确,recyclerview将比滚动视图更具吸引力。