代码部分:
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);
}
}