my image is here please show it
请帮助我需要这种类型的自定义布局来获取产品图像和来自database的名称。所以我需要在从服务器获取数据时创建一个以上的布局
NEED: 产品名称必须低于图像。 产品名称和图像都在一个布局中,但是其他第二个图像和名称以新的layout.same作为第一个
答案 0 :(得分:0)
在xml中定义此小部件。
<GridView
android:id="@+id/frg_home_categoryGridView"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:gravity="center"
android:horizontalSpacing="1dp"
android:numColumns="2"
android:scrollbars="none"
android:stretchMode="columnWidth"
android:verticalSpacing="1dp">
</GridView>
为此创建inflater
<RelativeLayout
android:layout_width="match_parent"
android:layout_height="@dimen/flexible_space_image_height"
android:orientation="vertical">
<ImageView
android:id="@+id/inf_categoryIv"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:scaleType="centerCrop" />
<TextView
android:id="@+id/inf_categoryTv"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentBottom="true"
android:layout_centerHorizontal="true"
android:background="@drawable/black_gradient"
android:gravity="bottom"
android:padding="@dimen/margin10"
android:text="@string/app_name"
android:textAppearance="?android:attr/textAppearanceMedium"
android:textColor="@android:color/white" />
</RelativeLayout>
比获得数据后,您必须在GridView tutorial上设置适配器。
答案 1 :(得分:0)
如果您想使用水平滚动视图,请找到以下答案。
首先创建主XML文件。
main.xml中
<LinearLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="horizontal">
<HorizontalScrollView
android:id="@+id/horizontalScrollView1"
android:layout_width="wrap_content"
android:layout_height="wrap_content">
</HorizontalScrollView>
</LinearLayout>
现在创建第二个自定义布局文件
custom_layout.xml
<LinearLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical">
<ImageView
android:width="wrap_content"
android:height="wrap_content"
android:id="@+id/imageView" />
<TextView
android:width="wrap_content"
android:height="wrap_content"
android:id="@+id/textView" />
</LinearLayout >
现在,在您的.Java文件上实现完整填充图像的编码,并将视图添加为子视图水平滚动视图。
MainActivity.Java
public class MainActivity extends AppCompatActivity
{
private HorizontalScrollView hsv;
private int IMAGES_RESOURCES[] = {R.drawable.image1, R.drawable.image2, R.drawable.image3, R.drawable.image4, R.drawable.image5};
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
hsv = (HorizontalScrollView) findViewById(R.id.horizontalScrollView1);
addImages();
}
}
public void addImages()
{
for(int i = 0; i < 5; i++)
{
LayoutInflater inflater = LayoutInflater.from(context);
View subLayout = inflater.inflate(R.layout.custom_layout, null, false);
TextView tv = (TextView) subLayout.findViewById(R.id.textView);
ImageView imageView = (ImageView) subLayout.findViewById(R.id.imageView);
tv.setText("Cake " + i);
imageView.setImageResource(IMAGES_RESOURCES[i]);
hsv.addView(subLayout);
}
}