Androidstudio写一个购物程序,需要点击商品图片选择购买
时间: 2024-05-10 13:15:40 浏览: 114
好的,下面是一个简单的购物程序实现:
1. 首先,在Android Studio中创建一个新项目,命名为“ShoppingApp”。
2. 在app/build.gradle文件中添加以下依赖项:
```
implementation 'com.android.support:recyclerview-v7:28.0.0'
```
3. 在app/res/layout文件夹中创建一个名为“activity_main.xml”的布局文件,并添加以下代码:
```
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout 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="match_parent"
android:layout_height="match_parent"
tools:context=".MainActivity">
<android.support.v7.widget.RecyclerView
android:id="@+id/recycler_view"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:padding="16dp"
app:layoutManager="android.support.v7.widget.LinearLayoutManager"
tools:listitem="@layout/item_product" />
</RelativeLayout>
```
4. 在app/res/layout文件夹中创建一个名为“item_product.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="8dp">
<ImageView
android:id="@+id/product_image"
android:layout_width="100dp"
android:layout_height="100dp"
android:src="@drawable/product1" />
<TextView
android:id="@+id/product_name"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="1"
android:padding="8dp"
android:text="Product Name"
android:textSize="18sp" />
<Button
android:id="@+id/buy_button"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Buy" />
</LinearLayout>
```
5. 在app/src/main/res/drawable文件夹中添加一些商品图片,命名为“product1.jpg”,“product2.jpg”等等。
6. 在MainActivity.java文件中添加以下代码:
```
import android.os.Bundle;
import android.support.v7.app.AppCompatActivity;
import android.support.v7.widget.LinearLayoutManager;
import android.support.v7.widget.RecyclerView;
import android.view.View;
import android.widget.Button;
import android.widget.ImageView;
import android.widget.TextView;
import android.widget.Toast;
public class MainActivity extends AppCompatActivity {
private RecyclerView recyclerView;
private ProductAdapter adapter;
@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));
adapter = new ProductAdapter();
recyclerView.setAdapter(adapter);
}
private class ProductAdapter extends RecyclerView.Adapter<ProductViewHolder> {
private int[] productImages = {R.drawable.product1, R.drawable.product2, R.drawable.product3};
private String[] productNames = {"Product 1", "Product 2", "Product 3"};
@Override
public ProductViewHolder onCreateViewHolder(ViewGroup parent, int viewType) {
View view = getLayoutInflater().inflate(R.layout.item_product, parent, false);
return new ProductViewHolder(view);
}
@Override
public void onBindViewHolder(ProductViewHolder holder, int position) {
holder.productImage.setImageResource(productImages[position]);
holder.productName.setText(productNames[position]);
holder.buyButton.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
Toast.makeText(MainActivity.this, "You bought " + productNames[position], Toast.LENGTH_SHORT).show();
}
});
}
@Override
public int getItemCount() {
return productImages.length;
}
}
private class ProductViewHolder extends RecyclerView.ViewHolder {
private ImageView productImage;
private TextView productName;
private Button buyButton;
public ProductViewHolder(View itemView) {
super(itemView);
productImage = itemView.findViewById(R.id.product_image);
productName = itemView.findViewById(R.id.product_name);
buyButton = itemView.findViewById(R.id.buy_button);
}
}
}
```
7. 运行程序,可以看到商品图片和购买按钮。点击购买按钮会弹出一条消息,显示用户购买了哪个商品。
这是一个简单的购物程序实现。你可以根据需要进行修改和扩展。
阅读全文