Android开发-homework2

代码部分:

part1:

activity_main.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="match_parent"
    android:orientation="vertical">

    <Button
        android:id="@+id/button"
        android:layout_width="match_parent"
        android:layout_height="50dp"
        android:layout_marginTop="30dp"
        android:layout_marginLeft="30dp"
        android:layout_marginRight="30dp"
        android:background="#F40303"
        android:text="小学教育原型(引导页)"
        android:textSize="16sp" />

    <Button
        android:id="@+id/button1"
        android:layout_width="match_parent"
        android:layout_height="50dp"
        android:layout_marginTop="30dp"
        android:layout_marginLeft="90dp"
        android:layout_marginRight="90dp"
        android:background="#FF5722"
        android:text="课外学习"
        android:textSize="16sp" />

    <Button
        android:id="@+id/button2"
        android:layout_width="match_parent"
        android:layout_height="50dp"
        android:layout_marginLeft="90dp"
        android:layout_marginTop="30dp"
        android:layout_marginRight="90dp"
        android:background="#FFEB3B"
        android:text="我的订单"
        android:textSize="16sp" />

    <Button
        android:id="@+id/button3"
        android:layout_width="match_parent"
        android:layout_height="50dp"
        android:layout_marginLeft="90dp"
        android:layout_marginTop="30dp"
        android:layout_marginRight="90dp"
        android:background="#1DE825"
        android:text="购买记录"
        android:textSize="16sp" />

    <Button
        android:id="@+id/button4"
        android:layout_width="match_parent"
        android:layout_height="50dp"
        android:layout_marginLeft="70dp"
        android:layout_marginTop="30dp"
        android:layout_marginRight="70dp"
        android:background="#30C1DD"
        android:text="名侦探柯南剧集"
        android:textAllCaps="false"
        android:textSize="16sp" />

    <Button
        android:id="@+id/button5"
        android:layout_width="match_parent"
        android:layout_height="50dp"
        android:layout_margin="30dp"
        android:background="#9C27B0"
        android:text="家居手工艺交易原型"
        android:textSize="16sp" />

</LinearLayout>
效果图:

在这里插入图片描述

activity_education_view_pager.xml

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent">

    <androidx.viewpager.widget.ViewPager
        android:id="@+id/vp_viewPager"
        android:layout_width="match_parent"
        android:layout_height="match_parent"/>

</RelativeLayout>
效果图:

在这里插入图片描述

input_shape.xml

<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android">

    <stroke android:width="1dp" android:color="#787676"></stroke>
    <corners android:radius="10dp"></corners>
    <solid android:color="#79E3F1"></solid>

</shape>
效果图:

在这里插入图片描述

pager_item.xml

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent">

    <ImageView
        android:id="@+id/iv_image"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:src="@drawable/photo2"/>

   <RadioGroup
       android:id="@+id/rg_radioGroup"
       android:layout_width="wrap_content"
       android:layout_height="wrap_content"
       android:orientation="horizontal"
       android:layout_centerHorizontal="true"
       android:layout_marginTop="470dp">
   </RadioGroup>

    <Button
        android:id="@+id/startButton"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_alignParentBottom="true"
        android:layout_centerHorizontal="true"
        android:layout_marginBottom="50dp"
        android:layout_marginRight="100dp"
        android:background="@drawable/input_shape"
        android:text="开启学习之旅"
        android:textSize="18sp"
        android:visibility="gone"/>

</RelativeLayout>
效果图:

在这里插入图片描述

photo1.png

在这里插入图片描述

photo2.png

请添加图片描述

photo3.png

请添加图片描述

MyViewPagerAdapter.java

import android.content.Context;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.Button;
import android.widget.ImageView;
import android.widget.RadioButton;
import android.widget.RadioGroup;
import android.widget.Toast;
import androidx.annotation.NonNull;
import androidx.viewpager.widget.PagerAdapter;
import java.util.List;
public class MyViewPagerAdapter extends PagerAdapter {

    private List<Integer> data;
    private Context context;
    private LayoutInflater inflater;

    public MyViewPagerAdapter(List<Integer> data, Context context) {
        this.data = data;
        this.context = context;
        this.inflater = LayoutInflater.from(context);
    }

    @NonNull
    @Override
    public Object instantiateItem(@NonNull ViewGroup container, int position) {
        View view = inflater.inflate(R.layout.pager_item, null);
        ImageView imageView = view.findViewById(R.id.iv_image);
        RadioGroup radioGroup = view.findViewById(R.id.rg_radioGroup);
        Button startButton = view.findViewById(R.id.startButton);

        imageView.setImageResource(data.get(position));
        if (position == (data.size()-1)) {
            radioGroup.setVisibility(View.GONE);
            startButton.setVisibility(View.VISIBLE);
            startButton.setOnClickListener(new View.OnClickListener() {

                @Override
                public void onClick(View v) {
                    Toast.makeText(context, "欢迎使用", Toast.LENGTH_SHORT).show();
                }

            });
        }

        for (int i = 0; i < data.size(); i++){
            RadioButton radioButton = new RadioButton(context);
            if (i == position) {
                radioButton.setChecked(true);
            }
            radioGroup.addView(radioButton);
        }

        container.addView(view);
        return view;
    }

    @Override
    public void destroyItem(@NonNull ViewGroup container, int position, @NonNull Object object) {
        container.removeView((View) object);
    }

    @Override
    public int getCount() {
        return data.size();
    }

    @Override
    public boolean isViewFromObject(@NonNull View view, @NonNull Object object) {
        return view == object;
    }

}

EducationViewPagerActivity.java

import androidx.appcompat.app.AppCompatActivity;
import androidx.viewpager.widget.ViewPager;
import android.os.Bundle;
import java.util.ArrayList;
import java.util.List;
public class EducationViewPagerActivity extends AppCompatActivity {

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_education_view_pager);

        List<Integer> data = new ArrayList<>();
        data.add(R.drawable.photo1);
        data.add(R.drawable.photo2);
        data.add(R.drawable.photo3);

        ViewPager viewPager = findViewById(R.id.vp_viewPager);
        MyViewPagerAdapter adapter = new MyViewPagerAdapter(data,this);
        viewPager.setAdapter(adapter);
    }

}

效果图:

在这里插入图片描述
在这里插入图片描述

part2:

activity_grid_view_learn.xml

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent">

    <TextView
        android:id="@+id/title"
        android:layout_width="match_parent"
        android:layout_height="50dp"
        android:text="课外学习"
        android:textSize="26sp"
        android:textColor="#000000"
        android:gravity="center"
        android:background="#FF5722"/>

    <GridView
        android:id="@+id/gridView"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:layout_below="@+id/title"/>

</RelativeLayout>

Courses.java

public class Courses {

    private int image;
    private  String name;
    private double price;
    private String tips;

    public Courses(int image, String name, double price, String tips) {
        this.image = image;
        this.name = name;
        this.price = price;
        this.tips = tips;
    }

    public int getImage() {
        return image;
    }

    public void setImage(int image) {
        this.image = image;
    }

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    public double getPrice() {
        return price;
    }

    public void setPrice(double price) {
        this.price = price;
    }

    public String getTips() {
        return tips;
    }

    public void setTips(String tips) {
        this.tips = tips;
    }

}

course_item.xml

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="130dp">

    <ImageView
        android:id="@+id/image"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:src="@drawable/book1"
        android:layout_marginTop="20dp"
        android:layout_marginLeft="25dp"/>

    <TextView
        android:id="@+id/name"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="人类科幻200年"
        android:textSize="22sp"
        android:textColor="#000000"
        android:layout_marginLeft="120dp"
        android:layout_marginTop="20dp"/>

    <TextView
        android:id="@+id/tips"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="跟我一起探索人类想象力的极限吧"
        android:textSize="15sp"
        android:layout_alignLeft="@+id/name"
        android:layout_below="@id/name"
        android:layout_marginTop="8dp"/>

    <TextView
        android:id="@+id/price"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_below="@id/tips"
        android:layout_alignLeft="@id/name"
        android:layout_marginTop="10dp"
        android:text="¥19.9"
        android:textColor="#EF4D4D"
        android:textSize="30dp" />

</RelativeLayout>
效果图:

在这里插入图片描述

book1.png

请添加图片描述

book2.png

请添加图片描述

book3.png

请添加图片描述

book4.png

请添加图片描述

book5.png

请添加图片描述

CoursesAdapter.java

import android.content.Context;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.BaseAdapter;
import android.widget.ImageView;
import android.widget.TextView;
import java.util.List;
public class CoursesAdapter extends BaseAdapter {

    private List<Courses> data;
    private Context context;

    public CoursesAdapter(List<Courses> data, Context context) {
        this.data = data;
        this.context = context;
    }

    @Override
    public int getCount() {
        return data.size();
    }

    @Override
    public Object getItem(int position) {
        return data.get(position);
    }

    @Override
    public long getItemId(int position) {
        return position;
    }

    @Override
    public View getView(int position, View convertView, ViewGroup parent) {
        if (convertView == null){
            LayoutInflater inflater = LayoutInflater.from(context);
            convertView = inflater.inflate(R.layout.course_item,null);
        }

        ImageView image = convertView.findViewById(R.id.image);
        TextView name = convertView.findViewById(R.id.name);
        TextView price = convertView.findViewById(R.id.price);
        TextView tips = convertView.findViewById(R.id.tips);
        Courses courses = data.get(position);
        image.setImageResource(courses.getImage());
        name.setText(courses.getName());
        String priceString = "¥" + courses.getPrice();
        price.setText(priceString);
        tips.setText(courses.getTips());

        return convertView;
    }
    
}

GridViewLearnActivity.java

import androidx.appcompat.app.AppCompatActivity;
import android.os.Bundle;
import android.widget.GridView;
import java.util.ArrayList;
import java.util.List;
public class GridViewLearnActivity extends AppCompatActivity {

    private List<Courses> data;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_grid_view_learn);

        data = new ArrayList<>();
        Courses courses = new Courses(R.drawable.book1, "人类科幻200年", 9.9, "跟我一起探索人类想象力的极限吧");
        data.add(courses);
        Courses courses1 = new Courses(R.drawable.book2, "一本正经的外星人课", 19.9, "科学的星际交流指南");
        data.add(courses1);
        Courses courses2 = new Courses(R.drawable.book3, "精讲'太空漫游'四部曲", 12.9, "科学的星际交流指南");
        data.add(courses2);
        Courses courses3 = new Courses(R.drawable.book4, "自然界的奥秘", 39.9, "自然界太多未知的东西吸引着我们去探索");
        data.add(courses3);
        Courses courses4 = new Courses(R.drawable.book5, "恐龙拯救地球", 12.9, "你知道吗,恐龙竟然要拯救地球?");
        data.add(courses4);

        GridView gridView = findViewById(R.id.gridView);
        CoursesAdapter coursesAdapter = new CoursesAdapter(data, this);
        gridView.setAdapter(coursesAdapter);
    }

}

效果图:

在这里插入图片描述

part3:

order_shape1.xml

<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android">

    <stroke android:width="1dp" android:color="#BAB4B4"></stroke>
    <corners android:radius="8dp"></corners>

</shape>
效果图:

在这里插入图片描述

order_shape2.xml

<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android">

    <stroke android:width="1dp" android:color="#BAB4B4"></stroke>
    <corners android:radius="10dp"></corners>
    <solid android:color="#29B8F8"></solid>

</shape>
效果图:

在这里插入图片描述

order_shape3.xml

<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android">

    <stroke android:width="1dp" android:color="#BAB4B4"></stroke>
    <corners android:radius="20dp"></corners>
    <solid android:color="#FAF8F8"></solid>

</shape>
效果图:

在这里插入图片描述

order_shape4.xml

<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android">

    <stroke android:width="1dp" android:color="#BAB4B4"></stroke>
    <corners android:radius="20dp"></corners>
    <solid android:color="#FF5722"></solid>

</shape>
效果图:

在这里插入图片描述

activity_my_order.xml

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="260dp"
    android:layout_marginTop="40dp"
    android:layout_marginLeft="20dp"
    android:layout_marginRight="20dp"
    android:background="@drawable/order_shape1">

    <EditText
        android:id="@+id/editText"
        android:layout_width="350dp"
        android:layout_height="55dp"
        android:layout_marginLeft="10dp"
        android:hint="订单编号:683298928398"/>

    <TextView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="待支付"
        android:textSize="16sp"
        android:textColor="#FF5722"
        android:layout_marginTop="15dp"
        android:layout_marginRight="10dp"
        android:layout_alignRight="@id/editText"/>

    <TextView
        android:id="@+id/textView1"
        android:layout_width="100dp"
        android:layout_height="45dp"
        android:text="课外学习"
        android:textSize="20sp"
        android:textColor="#ffffff"
        android:background="@drawable/order_shape2"
        android:layout_marginTop="60dp"
        android:layout_marginLeft="10dp"
        android:padding="8dp"/>

    <TextView
        android:id="@+id/textView2"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="一本正经的外星人课"
        android:textColor="#000000"
        android:textSize="25sp"
        android:layout_below="@id/editText"
        android:layout_marginTop="8dp"
        android:layout_marginLeft="130dp" />

    <TextView
        android:id="@+id/textView3"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="科学的星际交流指南"
        android:textSize="20sp"
        android:textColor="#716666"
        android:layout_below="@id/textView1"
        android:layout_alignLeft="@id/textView1"
        android:layout_marginTop="10dp"/>

    <TextView
        android:id="@+id/textView4"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="应付:"
        android:textSize="15sp"
        android:layout_below="@id/textView3"
        android:layout_alignLeft="@id/textView1"
        android:layout_marginTop="17dp"/>

    <TextView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="¥19.9"
        android:textSize="25sp"
        android:textColor="#000000"
        android:layout_below="@id/textView3"
        android:layout_alignLeft="@id/textView1"
        android:layout_marginTop="10dp"
        android:layout_marginLeft="40sp"
        android:layout_alignBottom="@id/textView4"/>

    <TextView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_below="@id/textView4"
        android:layout_alignLeft="@id/textView3"
        android:layout_marginTop="30dp"
        android:text="03:  33后自动取消"
        android:textColor="#FF5722"
        android:textSize="15sp" />

    <Button
        android:id="@+id/button1"
        android:layout_width="100dp"
        android:layout_height="40dp"
        android:text="取消订单"
        android:textColor="#938F8F"
        android:background="@drawable/order_shape3"
        android:layout_below="@id/textView4"
        android:layout_marginLeft="145sp"
        android:layout_marginTop="25dp"/>

    <Button
        android:layout_width="100dp"
        android:layout_height="40dp"
        android:layout_alignTop="@id/button1"
        android:layout_marginLeft="250dp"
        android:background="@drawable/order_shape4"
        android:text="去支付"
        android:textColor="#FFFFFF"/>

</RelativeLayout>
效果图:

在这里插入图片描述

MyOrderActivity.java

import androidx.appcompat.app.AppCompatActivity;
import android.os.Bundle;
public class MyOrderActivity extends AppCompatActivity {

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_my_order);
    }

}

效果图:

在这里插入图片描述

part4:

activity_list_view_demo.xml

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent">

    <TextView
        android:id="@+id/title"
        android:layout_width="match_parent"
        android:layout_height="50dp"
        android:text="购买记录"
        android:textSize="25sp"
        android:textColor="#000000"
        android:background="#1DE825"
        android:gravity="center"/>

    <ListView
        android:id="@+id/listView"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_below="@id/title"/>

</RelativeLayout>
效果图:

在这里插入图片描述

Cost.java

public class Cost {

    private  String type;
    private double money;

    public Cost(String type, double money) {
        this.type = type;
        this.money = money;
    }

    public String getType() {
        return type;
    }

    public void setType(String type) {
        this.type = type;
    }

    public double getMoney() {
        return money;
    }

    public void setMoney(double money) {
        this.money = money;
    }

}

cost_item.xml

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent">


    <RelativeLayout
        android:layout_width="match_parent"
        android:layout_height="90dp"
        android:background="#DFFFFFFF">

        <TextView
            android:id="@+id/textView"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:paddingLeft="10dp"
            android:paddingTop="6dp"
            android:text="流量包  3000MB"
            android:textColor="#494343"
            android:textSize="25sp" />

        <TextView
            android:id="@+id/textView1"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_below="@id/textView"
            android:layout_marginTop="10dp"
            android:paddingLeft="10dp"
            android:text="2020/11/11 00:00:00"
            android:textColor="#888383"
            android:textSize="20sp" />

        <TextView
            android:id="@+id/money"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_alignRight="@id/point"
            android:paddingTop="10dp"
            android:layout_marginRight="35dp"
            android:text="¥ 88.00"
            android:textColor="#333030"
            android:textSize="22sp" />

        <TextView
            android:id="@+id/type"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="待支付"
            android:textColor="#FF5722"
            android:textSize="16sp"
            android:layout_below="@id/money"
            android:layout_marginTop="10dp"
            android:layout_marginLeft="280dp"
            android:layout_alignRight="@id/money"/>

        <ImageView
            android:id="@+id/point"
            android:layout_width="25dp"
            android:layout_height="25dp"
            android:src="@drawable/point"
            android:layout_centerVertical="true"
            android:layout_marginLeft="370dp"/>

    </RelativeLayout>

</RelativeLayout>

point.png

在这里插入图片描述

CostAdapter.java

import android.content.Context;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.BaseAdapter;
import android.widget.TextView;
import java.util.List;
public class CostAdapter extends BaseAdapter {

    private List<Cost> data;
    private Context context;

    public CostAdapter(List<Cost> data, Context context) {
        this.data = data;
        this.context = context;
    }

    @Override
    public int getCount() {
        return data.size();
    }

    @Override
    public Object getItem(int position) {
        return data.get(position);
    }

    @Override
    public long getItemId(int position) {
        return position;
    }

    @Override
    public View getView(int position, View convertView, ViewGroup parent) {

        LayoutInflater inflater = LayoutInflater.from(context);
        View view = inflater.inflate(R.layout.cost_item, null);

        TextView type = view.findViewById(R.id.type);
        TextView money = view.findViewById(R.id.money);
        Cost cost = data.get(position);
        type.setText(cost.getType());
        String moneyString = "¥" + cost.getMoney();
        money.setText(moneyString);

        return view;
    }

}

ListViewDemoActivity.java

import androidx.appcompat.app.AppCompatActivity;
import android.os.Bundle;
import android.widget.ListView;
import java.util.ArrayList;
import java.util.List;
public class ListViewDemoActivity extends AppCompatActivity {

    private List<Cost> data;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_list_view_demo);

        data = new ArrayList<>();
        Cost cost = new Cost("待支付", 88.00);
        data.add(cost);
        Cost cost1 = new Cost("已支付", 188.00);
        data.add(cost1);
        Cost cost2 = new Cost("已支付", 88.00);
        data.add(cost2);
        Cost cost3 = new Cost("已支付", 88.00);
        data.add(cost3);
        Cost cost4 = new Cost("已支付", 88.00);
        data.add(cost4);

        ListView listView = findViewById(R.id.listView);
        CostAdapter costAdapter = new CostAdapter(data, this);
        listView.setAdapter(costAdapter);
    }
    
}

效果图:

在这里插入图片描述

part5:

activity_grid_demo.xml

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent">
    
    <TextView
        android:id="@+id/title"
        android:layout_width="match_parent"
        android:layout_height="50dp"
        android:text="剧集"
        android:textSize="25sp"
        android:textColor="#000000"
        android:background="#30C1DD"
        android:gravity="center"/>

    <GridView
        android:id="@+id/gridView"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:layout_below="@id/title"
        android:numColumns="3" />

</RelativeLayout>
效果图:

在这里插入图片描述

Goods.java

public class Goods {
    
    private int image;
    private String name;
    private String tips;

    public Goods(int image, String name, String tips) {
        this.image = image;
        this.name = name;
        this.tips = tips;
    }

    public int getImage() {
        return image;
    }

    public void setImage(int image) {
        this.image = image;
    }

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    public String getTips() {
        return tips;
    }

    public void setTips(String tips) {
        this.tips = tips;
    }
    
}

goods_shape.xml

<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android">

    <stroke android:color="#B6B2B2" android:width="1dp"></stroke>
    <solid android:color="#FFFFFF"></solid>
    <corners android:radius="9dp"></corners>

</shape>
效果图:

在这里插入图片描述

goods_item.xml

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="150dp"
    android:layout_height="210dp"
    android:background="@drawable/goods_shape">

    <ImageView
        android:id="@+id/image"
        android:layout_width="150dp"
        android:layout_height="150dp"
        android:src="@drawable/ke1"
        android:layout_centerHorizontal="true"
        android:layout_marginTop="10dp"/>
    
    <TextView
        android:id="@+id/name"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="异次元的狙击手"
        android:textColor="#000000"
        android:layout_below="@id/image"
        android:layout_alignLeft="@id/image"
        android:layout_marginLeft="17dp"
        android:layout_marginTop="2dp"/>
    <TextView
        android:id="@+id/tips"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="谜团'海豹突击队'"
        android:textSize="12sp"
        android:layout_below="@id/name"
        android:layout_alignLeft="@id/name"
        android:layout_marginTop="2dp"
        android:layout_marginBottom="10dp"/>

</RelativeLayout>
效果图:

在这里插入图片描述

ke1.png

在这里插入图片描述

ke2.png

请添加图片描述

ke3.png

请添加图片描述

ke4.png

请添加图片描述

ke5.png

请添加图片描述

ke6.png

请添加图片描述

ke7.png

请添加图片描述

GoodsAdapter.java

import android.content.Context;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.BaseAdapter;
import android.widget.ImageView;
import android.widget.TextView;
import java.util.List;
public class GoodsAdapter extends BaseAdapter {

    private List<Goods> data;
    private Context context;

    public GoodsAdapter(List<Goods> data, Context context) {
        this.data = data;
        this.context = context;
    }

    @Override
    public int getCount() {
        return data.size();
    }

    @Override
    public Object getItem(int position) {
        return data.get(position);
    }

    @Override
    public long getItemId(int position) {
        return position;
    }

    @Override
    public View getView(int position, View convertView, ViewGroup parent) {
        if (convertView == null){
            LayoutInflater inflater = LayoutInflater.from(context);
            convertView = inflater.inflate(R.layout.goods_item,null);
        }

        ImageView image = convertView.findViewById(R.id.image);
        TextView name = convertView.findViewById(R.id.name);
        TextView tips = convertView.findViewById(R.id.tips);
        Goods goods = data.get(position);
        image.setImageResource(goods.getImage());
        name.setText(goods.getName());
        tips.setText(goods.getTips());

        return convertView;
    }
    
}

GridDemoActivity.java

import androidx.appcompat.app.AppCompatActivity;
import android.os.Bundle;
import android.widget.GridView;
import java.util.ArrayList;
import java.util.List;
public class GridDemoActivity extends AppCompatActivity {

    private List<Goods> data;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_grid_demo);

        data = new ArrayList<>();
        Goods goods = new Goods(R.drawable.ke1, "绀青置拳", "蓝宝石'绀青之拳'");
        data.add(goods);
        Goods goods1 = new Goods(R.drawable.ke2, "零的执行人", "大规模的恐怖袭击");
        data.add(goods1);
        Goods goods2 = new Goods(R.drawable.ke3, "唐红的恋歌", "'皋月杯'百人一首");
        data.add(goods2);
        Goods goods3 = new Goods(R.drawable.ke4, "梦境世界大突击", "广志一家大突击");
        data.add(goods3);
        Goods goods4 = new Goods(R.drawable.ke5, "异次元的狙击手", "谜团'海豹突击队'");
        data.add(goods4);
        Goods goods5 = new Goods(R.drawable.ke6, "纯黑的噩梦", "黑暗组织的杀戮");
        data.add(goods5);
        Goods goods6 = new Goods(R.drawable.ke7, "新婚旅行飓风", "丢失的广志");
        data.add(goods6);

        GridView gridView = findViewById(R.id.gridView);
        GoodsAdapter goodsAdapter = new GoodsAdapter(data, this);
        gridView.setAdapter(goodsAdapter);
    }
    
}

效果图:

在这里插入图片描述

part6:

MainActivity.java

import androidx.appcompat.app.AppCompatActivity;
import android.content.Intent;
import android.os.Bundle;
import android.view.View;
public class MainActivity extends AppCompatActivity {

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        findViewById(R.id.button).setOnClickListener(new View.OnClickListener() {

            @Override
            public void onClick(View v) {
                Intent intent = new Intent(MainActivity.this, EducationViewPagerActivity.class);
                startActivity(intent);
            }

        });

        findViewById(R.id.button1).setOnClickListener(new View.OnClickListener() {

            @Override
            public void onClick(View v) {
                Intent intent = new Intent(MainActivity.this, GridViewLearnActivity.class);
                startActivity(intent);
            }

        });

        findViewById(R.id.button2).setOnClickListener(new View.OnClickListener() {

            @Override
            public void onClick(View v) {
                Intent intent = new Intent(MainActivity.this, MyOrderActivity.class);
                startActivity(intent);
            }

        });

        findViewById(R.id.button3).setOnClickListener(new View.OnClickListener() {

            @Override
            public void onClick(View v) {
                Intent intent = new Intent(MainActivity.this, ListViewDemoActivity.class);
                startActivity(intent);
            }

        });

        findViewById(R.id.button4).setOnClickListener(new View.OnClickListener() {

            @Override
            public void onClick(View v) {
                Intent intent = new Intent(MainActivity.this, GridDemoActivity.class);
                startActivity(intent);
            }

        });

        findViewById(R.id.button5).setOnClickListener(new View.OnClickListener() {

            @Override
            public void onClick(View v) {
                Intent intent = new Intent(MainActivity.this, GridViewDemoActivity.class);
                startActivity(intent);
            }

        });

    }

}

activity_grid_view_demo.xml

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:background="#000000">

    <GridView
        android:id="@+id/gridView"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:columnWidth="180dp"
        android:numColumns="2"
        android:paddingTop="10dp"
        android:stretchMode="spacingWidthUniform"
        android:verticalSpacing="10dp"
        android:visibility="visible" />

</RelativeLayout>
效果图:

在这里插入图片描述

Chair.java

public class Chair {

    private int image;
    private String name;
    private String tips;
    private double money;

    public Chair(int image, String name, String tips, double money) {
        this.image = image;
        this.name = name;
        this.tips = tips;
        this.money = money;
    }

    public int getImage() {
        return image;
    }

    public void setImage(int image) {
        this.image = image;
    }

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    public String getTips() {
        return tips;
    }

    public void setTips(String tips) {
        this.tips = tips;
    }

    public double getMoney() {
        return money;
    }

    public void setMoney(double money) {
        this.money = money;
    }

}

chair_item.xml

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="150dp"
    android:layout_height="250dp"
    android:background="@drawable/goods_shape">

    <ImageView
        android:id="@+id/image"
        android:layout_width="130dp"
        android:layout_height="150dp"
        android:src="@drawable/chair1"
        android:layout_centerHorizontal="true"/>

    <TextView
        android:id="@+id/name"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="萨克利亚"
        android:textSize="18sp"
        android:textColor="#000000"
        android:layout_below="@id/image"
        android:layout_marginLeft="7dp"/>

    <TextView
        android:id="@+id/tips"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="垫套可拆卸、可机洗,无需担心溅上污渍。"
        android:textColor="#C5C3C3"
        android:textSize="12sp"
        android:layout_below="@id/name"
        android:layout_marginLeft="7dp"
        android:layout_marginTop="5dp"/>

    <TextView
        android:id="@+id/money"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="¥69"
        android:textSize="18sp"
        android:textColor="#2E2D2D"
        android:layout_below="@id/tips"
        android:layout_marginLeft="7dp"
        android:layout_marginTop="6dp"
        android:layout_marginBottom="10dp"/>

    <ImageButton
        android:id="@+id/bagButton"
        android:layout_width="30dp"
        android:layout_height="30dp"
        android:src="@drawable/bag"
        android:layout_below="@+id/tips"
        android:layout_marginLeft="140dp"
        android:layout_marginTop="3dp"/>

</RelativeLayout>
效果图:

在这里插入图片描述

chair1.png

请添加图片描述

chair2.png

请添加图片描述

chair3.png

请添加图片描述

chair4.png

请添加图片描述

chair5.png

请添加图片描述

chair6.png

请添加图片描述

bag.png

请添加图片描述

ChairAdapter.java

import android.content.Context;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.BaseAdapter;
import android.widget.ImageButton;
import android.widget.ImageView;
import android.widget.TextView;
import java.util.List;
public class ChairAdapter extends BaseAdapter {

    private List<Chair> data;
    private Context context;

    public ChairAdapter(List<Chair> data, Context context) {
        this.data = data;
        this.context = context;
    }

    @Override
    public int getCount() {
        return data.size();
    }

    @Override
    public Object getItem(int position) {
        return data.get(position);
    }

    @Override
    public long getItemId(int position) {
        return position;
    }

    @Override
    public View getView(int position, View convertView, ViewGroup parent) {
        ViewHolder viewHolder;
        if (convertView == null) {
            LayoutInflater inflater = LayoutInflater.from(context);
            convertView = inflater.inflate(R.layout.chair_item, null);
            viewHolder = new ViewHolder();
            viewHolder.image = convertView.findViewById(R.id.image);
            viewHolder.name = convertView.findViewById(R.id.name);
            viewHolder.tips = convertView.findViewById(R.id.tips);
            viewHolder.money = convertView.findViewById(R.id.money);
            viewHolder.bagButton = convertView.findViewById(R.id.bagButton);
            convertView.setTag(viewHolder);
        } else {
            viewHolder = (ViewHolder) convertView.getTag();
        }

        ImageView image = viewHolder.image;
        TextView name = viewHolder.name;
        TextView tips = viewHolder.tips;
        TextView money = viewHolder.money;
        Chair chair = data.get(position);
        image.setImageResource(chair.getImage());
        name.setText(chair.getName());
        String moneyString = "¥" + chair.getMoney();
        money.setText(moneyString);

        return convertView;
    }

    class ViewHolder {
        public ImageView image;
        public TextView name;
        public TextView tips;
        private TextView money;
        private ImageButton bagButton;
    }

}

GridViewDemoActivity.java

import androidx.appcompat.app.AppCompatActivity;
import android.os.Bundle;
import android.widget.GridView;
import java.util.ArrayList;
import java.util.List;
public class GridViewDemoActivity extends AppCompatActivity {

    private List<Chair> data;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_grid_view_demo);

        data = new ArrayList<>();
        Chair chair = new Chair(R.drawable.chair1, "萨克利亚", "垫套可拆卸、可机洗,无需担心溅上污渍。", 69);
        data.add(chair);
        Chair chair1 = new Chair(R.drawable.chair2, "比因斯塔", "垫套可拆卸、可机洗,无需担心溅上污渍。", 799);
        data.add(chair1);
        Chair chair2 = new Chair(R.drawable.chair3, "托帕瑞", "垫套可拆卸、可机洗,无需担心溅上污渍。", 149);
        data.add(chair2);
        Chair chair3 = new Chair(R.drawable.chair4, "洛贝里特", "垫套可拆卸、可机洗,无需担心溅上污渍。", 99);
        data.add(chair3);
        Chair chair4 = new Chair(R.drawable.chair5, "VEDBO 维伯", "垫套可拆卸、可机洗,无需担心溅上污渍。", 169);
        data.add(chair4);
        Chair chair5 = new Chair(R.drawable.chair6, "斯佳蒙", "垫套可拆卸、可机洗,无需担心溅上污渍。", 669);
        data.add(chair5);

        GridView gridView = findViewById(R.id.gridView);
        ChairAdapter chairAdapter = new ChairAdapter(data, this);
        gridView.setAdapter(chairAdapter);
    }
    
}

效果图:

在这里插入图片描述

详解升级版可点击此处

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值