android完整详细代码以及结果截图设计并实现一个购物商城的商品列表界面,要求每个商品都要有图片、名称和价格,请写出实验步骤及相关代码。要求商品数量不少于20个。
时间: 2024-02-11 12:08:59 浏览: 100
Android购物分类效果实现
很抱歉,我并无法提供完整详细的代码及结果截图。但我可以给您一些实验步骤及相关代码的参考。
实验步骤:
1. 创建一个新的 Android 项目并命名为“ShoppingMall”。
2. 在 res/layout 文件夹下创建一个新的布局文件“item_layout.xml”用于显示每个商品的图片、名称和价格。
3. 在 res/values 文件夹下创建一个新的 XML 文件“strings.xml”用于存储商品的名称和价格等信息。
4. 在 res/drawable 文件夹下添加商品的图片资源。
5. 在 MainActivity 中编写代码以显示商品列表和每个商品的详细信息。
相关代码:
1. item_layout.xml
```
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal"
android:padding="16dp">
<ImageView
android:id="@+id/item_image"
android:layout_width="80dp"
android:layout_height="80dp"
android:src="@drawable/item_image_placeholder" />
<LinearLayout
android:layout_width="0dp"
android:layout_height="match_parent"
android:layout_marginStart="16dp"
android:layout_weight="1"
android:orientation="vertical">
<TextView
android:id="@+id/item_name"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/item_name_placeholder"
android:textColor="@android:color/black"
android:textSize="18sp" />
<TextView
android:id="@+id/item_price"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/item_price_placeholder"
android:textColor="@android:color/holo_red_dark"
android:textSize="16sp" />
</LinearLayout>
</LinearLayout>
```
2. strings.xml
```
<resources>
<string name="app_name">ShoppingMall</string>
<string name="item_name1">商品1</string>
<string name="item_name2">商品2</string>
<string name="item_name3">商品3</string>
<string name="item_name4">商品4</string>
<string name="item_name5">商品5</string>
<string name="item_name6">商品6</string>
<string name="item_name7">商品7</string>
<string name="item_name8">商品8</string>
<string name="item_name9">商品9</string>
<string name="item_name10">商品10</string>
<string name="item_name11">商品11</string>
<string name="item_name12">商品12</string>
<string name="item_name13">商品13</string>
<string name="item_name14">商品14</string>
<string name="item_name15">商品15</string>
<string name="item_name16">商品16</string>
<string name="item_name17">商品17</string>
<string name="item_name18">商品18</string>
<string name="item_name19">商品19</string>
<string name="item_name20">商品20</string>
<string name="item_price1">¥ 99.99</string>
<string name="item_price2">¥ 88.88</string>
<string name="item_price3">¥ 77.77</string>
<string name="item_price4">¥ 66.66</string>
<string name="item_price5">¥ 55.55</string>
<string name="item_price6">¥ 44.44</string>
<string name="item_price7">¥ 33.33</string>
<string name="item_price8">¥ 22.22</string>
<string name="item_price9">¥ 11.11</string>
<string name="item_price10">¥ 10.00</string>
<string name="item_price11">¥ 9.99</string>
<string name="item_price12">¥ 8.88</string>
<string name="item_price13">¥ 7.77</string>
<string name="item_price14">¥ 6.66</string>
<string name="item_price15">¥ 5.55</string>
<string name="item_price16">¥ 4.44</string>
<string name="item_price17">¥ 3.33</string>
<string name="item_price18">¥ 2.22</string>
<string name="item_price19">¥ 1.11</string>
<string name="item_price20">¥ 0.99</string>
<string name="item_name_placeholder">商品名称</string>
<string name="item_price_placeholder">¥ 0.00</string>
</resources>
```
3. MainActivity.java
```
public class MainActivity extends AppCompatActivity {
private RecyclerView recyclerView;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
recyclerView = findViewById(R.id.recycler_view);
recyclerView.setLayoutManager(new LinearLayoutManager(this));
recyclerView.setAdapter(new ItemAdapter());
}
private class ItemAdapter extends RecyclerView.Adapter<ItemViewHolder> {
@NonNull
@Override
public ItemViewHolder onCreateViewHolder(@NonNull ViewGroup parent, int viewType) {
View itemView = LayoutInflater.from(parent.getContext())
.inflate(R.layout.item_layout, parent, false);
return new ItemViewHolder(itemView);
}
@Override
public void onBindViewHolder(@NonNull ItemViewHolder holder, int position) {
holder.bind(position);
}
@Override
public int getItemCount() {
return getResources().getStringArray(R.array.item_names).length;
}
}
private class ItemViewHolder extends RecyclerView.ViewHolder {
private ImageView itemImage;
private TextView itemName;
private TextView itemPrice;
public ItemViewHolder(@NonNull View itemView) {
super(itemView);
itemImage = itemView.findViewById(R.id.item_image);
itemName = itemView.findViewById(R.id.item_name);
itemPrice = itemView.findViewById(R.id.item_price);
}
public void bind(int position) {
itemImage.setImageResource(getResources().getIdentifier(
"item_image_" + (position % 5 + 1),
"drawable",
getPackageName()));
itemName.setText(getResources().getStringArray(R.array.item_names)[position]);
itemPrice.setText(getResources().getStringArray(R.array.item_prices)[position]);
}
}
}
```
这是一个简单的商品列表界面实现,您可以根据自己的需求进行修改和扩展。
阅读全文