当我尝试创建一个可以使用 android.support.v17.leanback.widget.HorizontalGridView
水平滚动的网格视图时,我在标题上提到了一个问题但是我需要在每个项目之间留出一些空间,并且控件数量的项目会出现在屏幕上,如下所示:
我的layout.xml代码:
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:layout_centerHorizontal="true"
android:orientation="vertical"
tools:context="layout.productListFragment">
<!-- TODO: Update blank fragment layout -->
<android.support.v17.leanback.widget.HorizontalGridView xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/productListGrid"
android:layout_width="wrap_content"
android:layout_height="fill_parent"
android:gravity="top"
/>
我尝试使用下面的代码,但它看起来并没有生效
android: android:numColumns="3"
android:columnWidth="60dp"
android:stretchMode="columnWidth"
有single_product_layout
的代码<?xml version="1.0" encoding="utf-8"?>
<TableLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="#FFFFFF"
android:paddingLeft="5dp"
android:paddingRight="5dp">
<TableRow
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:gravity="center_vertical">
<ImageView
android:id="@+id/singleProduct_image"
android:layout_width="wrap_content"
android:layout_height="150dp"
android:layout_gravity="top"
android:layout_span="2"
android:src="@drawable/product1" />
</TableRow>
<TableRow>
<TextView
android:id="@+id/singleProduct_name"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_below="@+id/singleProduct_image"
android:gravity="left"
android:text="Tên sản phẩm"
android:textSize="12dp"
android:textStyle="bold" />
</TableRow>
<TableRow>
<RatingBar
android:id="@+id/singpleProduct_ratingBar"
style="?android:attr/ratingBarStyleSmall"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_below="@+id/singleProduct_name"
android:layout_gravity="left"
android:layout_weight="4"
android:numStars="5" />
<TextView
android:id="@+id/singleProduct_price"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignEnd="@+id/singleProduct_image"
android:layout_below="@+id/singleProduct_name"
android:layout_gravity="right"
android:layout_weight="6"
android:gravity="right"
android:text="25.000VND"
android:textColor="@color/mainThemeColor"
android:textSize="10dp" />
</TableRow>
</TableLayout>
非常感谢
答案 0 :(得分:0)
我今天刚刚遇到这个问题,由于某些原因,Android Studio(撰写本文时为2.3)没有显示HorizontalGridView
的所有自动填充选项(Leanback v17)。
您的目标是:
android:horizontalSpacing="10dp"
或者您可以通过
以编程方式执行此操作 gridView.setHorizontalSpacing(10)
其中10是以像素为单位的间距。