通过mock数据构造,将部分原来的静态页面数据替换成网络请求的数据

This commit is contained in:
tanc 2024-05-30 00:01:07 +08:00
parent 897a20f524
commit fc7863a02f
12 changed files with 347 additions and 331 deletions

View File

@ -51,4 +51,5 @@ dependencies {
implementation ("com.squareup.retrofit2:retrofit:2.9.0")
implementation ("com.squareup.retrofit2:converter-gson:2.9.0")
implementation("org.greenrobot:eventbus:3.3.1")
}

View File

@ -21,7 +21,7 @@
android:name=".EnrollActivity"
android:exported="false" />
<activity
android:name=".MainActivity"
android:name=".welcome"
android:exported="false" />
<activity
android:name=".LoginMainActivity"
@ -42,7 +42,7 @@
android:name=".ViewStart"
android:exported="false" />
<activity
android:name=".welcome"
android:name=".MainActivity"
android:exported="true">
<intent-filter>
<action android:name="android.intent.action.MAIN" />

View File

@ -1,20 +1,119 @@
package com.example.liyueling_final;
import android.content.Intent;
import android.os.Bundle;
import android.util.Log;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.ImageView;
import android.widget.TextView;
import androidx.annotation.NonNull;
import androidx.constraintlayout.widget.ConstraintLayout;
import androidx.fragment.app.Fragment;
import androidx.recyclerview.widget.LinearLayoutManager;
import androidx.recyclerview.widget.RecyclerView;
import com.bumptech.glide.Glide;
import java.util.ArrayList;
import java.util.List;
import retrofit2.Call;
import retrofit2.Callback;
import retrofit2.Response;
public class MainmajorFragment extends Fragment {
RecyclerView recyclerView ;
MyAdpater myAdpater;
List<People.DataDTO> peopleList = new ArrayList<>();
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
// Inflate the layout for this fragment
return inflater.inflate(R.layout.fragment_mainmajor, container, false);
View view = inflater.inflate(R.layout.fragment_mainmajor, container, false);
PeopleApi peopleApi = RetrofitUtils.getRetrofit("https://dev.usemock.com/664ac0559e857b0cdafce629/").create(PeopleApi.class);
for (int i = 1; i < 4; i++) {
Call<People> call = peopleApi.Introduce(i);
Log.i("123456", "onFailure: ");
call.enqueue(new Callback<People>() {
@Override
public void onResponse(Call<People> call, Response<People> response) {
People people = response.body();
peopleList.addAll(people.data);
myAdpater.notifyDataSetChanged();
}
@Override
public void onFailure(Call<People> call, Throwable t) {
}
});
}
recyclerView = view.findViewById(R.id.recyclerView);
myAdpater = new MyAdpater();
recyclerView.setAdapter(myAdpater);
recyclerView.setLayoutManager(new LinearLayoutManager(getActivity()));
return view;
}
}
public class MyviewHolder extends RecyclerView.ViewHolder {
TextView textView;
TextView textView2;
TextView textView3;
TextView textView4;
ImageView imageView;
ImageView imageView3;
public MyviewHolder(@NonNull View itemView) {
super(itemView);
textView = itemView.findViewById(R.id.textviewl1);
textView2 = itemView.findViewById(R.id.textViewl2);
textView3 = itemView.findViewById(R.id.textviewr1);
textView4 = itemView.findViewById(R.id.textviewr2);
imageView = itemView.findViewById(R.id.imageLeft1);
imageView3 = itemView.findViewById(R.id.imageRight1);
}
}
public class MyAdpater extends RecyclerView.Adapter<MyviewHolder> {
//加载布局文件
@NonNull
@Override
public MyviewHolder onCreateViewHolder(@NonNull ViewGroup parent, int viewType) {
View view = LayoutInflater.from(getActivity()).inflate(R.layout.people_item_layout, parent, false);
return new MyviewHolder(view);
}
//按需加载
@Override
public void onBindViewHolder(@NonNull MyviewHolder holder, int position) {
holder.textView.setText(peopleList.get(position).name1);
holder.textView2.setText(peopleList.get(position).introduce1);
holder.textView3.setText(peopleList.get(position).name2);
holder.textView4.setText(peopleList.get(position).introduce2);
Glide.with(getActivity())
.load(getResources().getIdentifier(peopleList.get(position).img1, "drawable", getContext().getPackageName()))
.into(holder.imageView);
Glide.with(getActivity())
.load(getResources().getIdentifier(peopleList.get(position).img2, "drawable", getContext().getPackageName()))
.into(holder.imageView3);
}
//显示的条数
@Override
public int getItemCount() {
return peopleList.size();
}
}
}

View File

@ -0,0 +1,33 @@
package com.example.liyueling_final;
import com.google.gson.annotations.SerializedName;
import java.util.List;
public class People {
@SerializedName("code")
public Integer code;
@SerializedName("message")
public String message;
@SerializedName("data")
public List<DataDTO> data;
public static class DataDTO {
@SerializedName("id")
public Integer id;
@SerializedName("name1")
public String name1;
@SerializedName("introduce1")
public String introduce1;
@SerializedName("name2")
public String name2;
@SerializedName("introduce2")
public String introduce2;
@SerializedName("img1")
public String img1;
@SerializedName("img2")
public String img2;
}
}

View File

@ -0,0 +1,12 @@
package com.example.liyueling_final;
import retrofit2.Call;
import retrofit2.http.Field;
import retrofit2.http.FormUrlEncoded;
import retrofit2.http.POST;
public interface PeopleApi {
@FormUrlEncoded
@POST("people")
Call<People> Introduce (@Field("id") Integer id);
}

View File

@ -19,10 +19,14 @@ import com.bumptech.glide.Glide;
import java.util.ArrayList;
import java.util.List;
import retrofit2.Call;
import retrofit2.Callback;
import retrofit2.Response;
public class Study_pinglun extends Fragment {
RecyclerView recyclerView;
MyAdpater myAdpater;
List<Chat> chatList = new ArrayList<>();
List<User.DataDTO> userList = new ArrayList<>();
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
@ -38,29 +42,22 @@ public class Study_pinglun extends Fragment {
}
});
String []a= new String[50];
a[0]="讲解的非常好非常到位\n特别是小龙老师";
a[1]="很不错!";
a[2]=" ";
int []b ={
R.drawable.img_106,
R.drawable.img_95,
R.drawable.img_11
};
for(int i=0;i<5;i++){
for (int j = 0; j < 3; j++) {
Chat chat = new Chat();
chat.img = b[j];
chat.text = a[j];
if(j==0){
chat.time = "学习"+12+"个课时评论";
}else{
chat.time = "学习"+2+"个课时评论";
userApi userApi = RetrofitUtils.getRetrofit("https://dev.usemock.com/664ac0559e857b0cdafce629/").create(userApi.class);
for(int i=1;i<8;i++){
Call<User> call = userApi.Comment(i);
call.enqueue(new Callback<User>() {
@Override
public void onResponse(Call<User> call, Response<User> response) {
User user = response.body();
userList.addAll(user.data);
myAdpater.notifyDataSetChanged();
}
chatList.add(chat);
}
@Override
public void onFailure(Call<User> call, Throwable t) {
}
});
}
recyclerView = view.findViewById(R.id.recyclelerview);
@ -70,21 +67,20 @@ public class Study_pinglun extends Fragment {
return view;
}
public class MyviewHolder extends RecyclerView.ViewHolder{
TextView textView;
TextView textView2;
TextView textView3;
TextView textView4;
TextView name;
TextView time;
TextView date;
TextView comment;
ImageView imageView;
ConstraintLayout constraintLayout;
public MyviewHolder(@NonNull View itemView) {
super(itemView);
textView = itemView.findViewById(R.id.textView);
textView2 = itemView.findViewById(R.id.textView2);
textView3 = itemView.findViewById(R.id.textView3);
textView4 = itemView.findViewById(R.id.textView157);
name = itemView.findViewById(R.id.textView);
time = itemView.findViewById(R.id.textView2);
date = itemView.findViewById(R.id.textView3);
comment = itemView.findViewById(R.id.textView157);
imageView = itemView.findViewById(R.id.imageView);
constraintLayout = itemView.findViewById(androidx.constraintlayout.widget.R.id.constraint);
}
}
@ -101,17 +97,18 @@ public class Study_pinglun extends Fragment {
//按需加载
@Override
public void onBindViewHolder(@NonNull MyviewHolder holder, int position) {
holder.textView2.setText(chatList.get(position).time);
holder.textView4.setText(chatList.get(position).text);
holder.time.setText(userList.get(position).time);
holder.date.setText(userList.get(position).date);
holder.name.setText(userList.get(position).name);
holder.comment.setText(userList.get(position).comments);
Glide.with(getActivity())
.load(chatList.get(position).img)
.load(getResources().getIdentifier(userList.get(position).img, "drawable", getContext().getPackageName()))
.into(holder.imageView);
}
//显示的条数
@Override
public int getItemCount() {
return chatList.size();
return userList.size();
}
}
}

View File

@ -2,18 +2,30 @@ package com.example.liyueling_final;
import com.google.gson.annotations.SerializedName;
import java.util.List;
public class User {
@SerializedName("id")
public Integer id;
@SerializedName("username")
public String username;
@SerializedName("phone")
public String phone;
@SerializedName("password")
public String password;
@SerializedName("age")
public Integer age;
@SerializedName("school")
public String school;
@SerializedName("code")
public Integer code;
@SerializedName("message")
public String message;
@SerializedName("data")
public List<DataDTO> data;
public static class DataDTO {
@SerializedName("id")
public Integer id;
@SerializedName("name")
public String name;
@SerializedName("comments")
public String comments;
@SerializedName("time")
public String time;
@SerializedName("date")
public String date;
@SerializedName("img")
public String img;
}
}

View File

@ -10,8 +10,8 @@ import retrofit2.http.Query;
public interface userApi {
@FormUrlEncoded
@POST("userlogin")
Call<User> Login (@Field("phone") String phone);
@POST("userenroll")
Call<User> Enroll (@Field("phone") String phone,@Field("password") String password );
@POST("comment")
Call<User> Comment (@Field("id") Integer id);
}

View File

@ -813,8 +813,8 @@
android:text="8763人学过"
android:textColor="#888787"
android:textSize="12dp"
app:layout_constraintStart_toStartOf="@+id/textView28"
app:layout_constraintTop_toBottomOf="@+id/textView28" />
app:layout_constraintStart_toStartOf="@+id/textviewr1"
app:layout_constraintTop_toBottomOf="@+id/textviewr1" />
<TextView
android:id="@+id/textView27"
@ -828,7 +828,7 @@
app:layout_constraintTop_toBottomOf="@+id/imageView30" />
<TextView
android:id="@+id/textView28"
android:id="@+id/textviewr1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="16dp"
@ -878,7 +878,7 @@
app:layout_constraintTop_toBottomOf="@+id/imageView32" />
<TextView
android:id="@+id/textView28"
android:id="@+id/textviewr1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="16dp"
@ -905,8 +905,8 @@
android:text="8763人学过"
android:textColor="#888787"
android:textSize="12dp"
app:layout_constraintStart_toStartOf="@+id/textView28"
app:layout_constraintTop_toBottomOf="@+id/textView28" />
app:layout_constraintStart_toStartOf="@+id/textviewr1"
app:layout_constraintTop_toBottomOf="@+id/textviewr1" />
<ImageView
android:id="@+id/imageView32"
@ -954,8 +954,8 @@
android:text="8763人学过"
android:textColor="#888787"
android:textSize="12dp"
app:layout_constraintStart_toStartOf="@+id/textView30"
app:layout_constraintTop_toBottomOf="@+id/textView30" />
app:layout_constraintStart_toStartOf="@+id/textviewl1"
app:layout_constraintTop_toBottomOf="@+id/textviewl1" />
<TextView
android:id="@+id/textView41"
@ -968,7 +968,7 @@
app:layout_constraintTop_toBottomOf="@+id/textView29" />
<TextView
android:id="@+id/textView30"
android:id="@+id/textviewl1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="16dp"
@ -1032,35 +1032,35 @@
app:layout_constraintTop_toTopOf="parent">
<TextView
android:id="@+id/textView31"
android:id="@+id/textviewr2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="8dp"
android:text="140人读过"
app:layout_constraintEnd_toEndOf="@+id/textView28"
app:layout_constraintStart_toStartOf="@+id/textView28"
app:layout_constraintTop_toBottomOf="@+id/textView28" />
app:layout_constraintEnd_toEndOf="@+id/textviewr1"
app:layout_constraintStart_toStartOf="@+id/textviewr1"
app:layout_constraintTop_toBottomOf="@+id/textviewr1" />
<TextView
android:id="@+id/textView28"
android:id="@+id/textviewr1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="8dp"
android:text="活动创造价值"
android:textSize="16dp"
android:textStyle="bold"
app:layout_constraintEnd_toEndOf="@+id/imageView14"
app:layout_constraintStart_toStartOf="@+id/imageView14"
app:layout_constraintTop_toBottomOf="@+id/imageView14" />
app:layout_constraintEnd_toEndOf="@+id/imageRight1"
app:layout_constraintStart_toStartOf="@+id/imageRight1"
app:layout_constraintTop_toBottomOf="@+id/imageRight1" />
<ImageView
android:id="@+id/imageView14"
android:id="@+id/imageRight1"
android:layout_width="100dp"
android:layout_height="150dp"
android:layout_marginTop="8dp"
app:layout_constraintEnd_toStartOf="@+id/imageView17"
app:layout_constraintHorizontal_bias="0.5"
app:layout_constraintStart_toEndOf="@+id/imageView18"
app:layout_constraintStart_toEndOf="@+id/imageLeft1"
app:layout_constraintTop_toTopOf="parent"
app:srcCompat="@drawable/img_30" />
@ -1071,7 +1071,7 @@
android:layout_marginTop="8dp"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintHorizontal_bias="0.5"
app:layout_constraintStart_toEndOf="@+id/imageView14"
app:layout_constraintStart_toEndOf="@+id/imageRight1"
app:layout_constraintTop_toTopOf="parent"
app:srcCompat="@drawable/img_31" />
@ -1098,33 +1098,33 @@
app:layout_constraintTop_toBottomOf="@+id/imageView17" />
<TextView
android:id="@+id/textView33"
android:id="@+id/textViewl2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="8dp"
android:text="140人读过"
app:layout_constraintEnd_toEndOf="@+id/textView30"
app:layout_constraintStart_toStartOf="@+id/textView30"
app:layout_constraintTop_toBottomOf="@+id/textView30" />
app:layout_constraintEnd_toEndOf="@+id/textviewl1"
app:layout_constraintStart_toStartOf="@+id/textviewl1"
app:layout_constraintTop_toBottomOf="@+id/textviewl1" />
<TextView
android:id="@+id/textView30"
android:id="@+id/textviewl1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="8dp"
android:text="大数据预测"
android:textSize="16dp"
android:textStyle="bold"
app:layout_constraintEnd_toEndOf="@+id/imageView18"
app:layout_constraintStart_toStartOf="@+id/imageView18"
app:layout_constraintTop_toBottomOf="@+id/imageView18" />
app:layout_constraintEnd_toEndOf="@+id/imageLeft1"
app:layout_constraintStart_toStartOf="@+id/imageLeft1"
app:layout_constraintTop_toBottomOf="@+id/imageLeft1" />
<ImageView
android:id="@+id/imageView18"
android:id="@+id/imageLeft1"
android:layout_width="100dp"
android:layout_height="150dp"
android:layout_marginTop="8dp"
app:layout_constraintEnd_toStartOf="@+id/imageView14"
app:layout_constraintEnd_toStartOf="@+id/imageRight1"
app:layout_constraintHorizontal_bias="0.5"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent"

View File

@ -1257,26 +1257,26 @@
android:layout_height="match_parent">
<TextView
android:id="@+id/textView31"
android:id="@+id/textviewr2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="简介的一些东西..."
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@+id/textView28" />
app:layout_constraintTop_toBottomOf="@+id/textviewr1" />
<TextView
android:id="@+id/textView28"
android:id="@+id/textviewr1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="14dp"
android:text="专家"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@+id/imageView14" />
app:layout_constraintTop_toBottomOf="@+id/imageRight1" />
<ImageView
android:id="@+id/imageView14"
android:id="@+id/imageRight1"
android:layout_width="50dp"
android:layout_height="50dp"
android:layout_marginTop="16dp"
@ -1355,26 +1355,26 @@
android:layout_height="match_parent">
<TextView
android:id="@+id/textView33"
android:id="@+id/textViewl2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="简介的一些东西..."
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@+id/textView30" />
app:layout_constraintTop_toBottomOf="@+id/textviewl1" />
<TextView
android:id="@+id/textView30"
android:id="@+id/textviewl1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="16dp"
android:text="专家"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@+id/imageView18" />
app:layout_constraintTop_toBottomOf="@+id/imageLeft1" />
<ImageView
android:id="@+id/imageView18"
android:id="@+id/imageLeft1"
android:layout_width="50dp"
android:layout_height="50dp"
android:layout_marginTop="16dp"

View File

@ -415,240 +415,14 @@
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@+id/constraintLayout8">
<TextView
android:id="@+id/textView138"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="8dp"
android:text="人物的简单介绍"
app:layout_constraintEnd_toEndOf="@+id/textView136"
app:layout_constraintStart_toStartOf="@+id/textView136"
app:layout_constraintTop_toBottomOf="@+id/textView136" />
<TextView
android:id="@+id/textView137"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="8dp"
android:text="人物的简单介绍"
app:layout_constraintEnd_toEndOf="@+id/textView135"
app:layout_constraintStart_toStartOf="@+id/textView135"
app:layout_constraintTop_toBottomOf="@+id/textView135" />
<TextView
android:id="@+id/textView136"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="16dp"
android:text="人物名字"
app:layout_constraintEnd_toEndOf="@+id/imageView118"
app:layout_constraintStart_toStartOf="@+id/imageView118"
app:layout_constraintTop_toBottomOf="@+id/imageView118" />
<TextView
android:id="@+id/textView135"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="16dp"
android:text="人物名字"
app:layout_constraintEnd_toEndOf="@+id/imageView116"
app:layout_constraintStart_toStartOf="@+id/imageView116"
app:layout_constraintTop_toBottomOf="@+id/imageView116" />
<TextView
android:id="@+id/textView134"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="8dp"
android:text="人物的简单介绍"
app:layout_constraintEnd_toEndOf="@+id/textView133"
app:layout_constraintStart_toStartOf="@+id/textView133"
app:layout_constraintTop_toBottomOf="@+id/textView133" />
<TextView
android:id="@+id/textView133"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="16dp"
android:text="人物名字"
app:layout_constraintEnd_toEndOf="@+id/imageView115"
app:layout_constraintStart_toStartOf="@+id/imageView115"
app:layout_constraintTop_toBottomOf="@+id/imageView115" />
<ImageView
android:id="@+id/imageView14"
android:layout_width="94dp"
android:layout_height="94dp"
android:layout_marginTop="13dp"
android:layout_marginEnd="53dp"
<androidx.recyclerview.widget.RecyclerView
android:id="@+id/recyclerView"
android:layout_width="match_parent"
android:layout_height="match_parent"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintTop_toTopOf="parent"
app:srcCompat="@drawable/img_96" />
<TextView
android:id="@+id/textView28"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="16dp"
android:text="人物名字"
app:layout_constraintEnd_toEndOf="@+id/imageView14"
app:layout_constraintStart_toStartOf="@+id/imageView14"
app:layout_constraintTop_toBottomOf="@+id/imageView14" />
<TextView
android:id="@+id/textView31"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="8dp"
android:text="人物的简单介绍"
app:layout_constraintEnd_toEndOf="@+id/imageView14"
app:layout_constraintHorizontal_bias="0.87"
app:layout_constraintStart_toStartOf="@+id/imageView14"
app:layout_constraintTop_toBottomOf="@+id/textView28" />
<ImageView
android:id="@+id/imageView17"
android:layout_width="94dp"
android:layout_height="94dp"
android:layout_marginStart="43dp"
android:layout_marginTop="40dp"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@+id/textView33"
app:srcCompat="@drawable/img_96" />
<TextView
android:id="@+id/textView29"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="16dp"
android:text="人物名字"
app:layout_constraintEnd_toEndOf="@+id/imageView17"
app:layout_constraintStart_toStartOf="@+id/imageView17"
app:layout_constraintTop_toBottomOf="@+id/imageView17" />
<TextView
android:id="@+id/textView32"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="8dp"
android:text="人物的简单介绍"
app:layout_constraintEnd_toEndOf="@+id/imageView17"
app:layout_constraintHorizontal_bias="0.242"
app:layout_constraintStart_toStartOf="@+id/imageView17"
app:layout_constraintTop_toBottomOf="@+id/textView29" />
<ImageView
android:id="@+id/imageView18"
android:layout_width="94dp"
android:layout_height="94dp"
android:layout_marginStart="43dp"
android:layout_marginTop="13dp"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent"
app:srcCompat="@drawable/img_95" />
<TextView
android:id="@+id/textView30"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="16dp"
android:text="人物名字"
app:layout_constraintEnd_toEndOf="@+id/imageView18"
app:layout_constraintStart_toStartOf="@+id/imageView18"
app:layout_constraintTop_toBottomOf="@+id/imageView18" />
<TextView
android:id="@+id/textView33"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="8dp"
android:text="人物的简单介绍"
app:layout_constraintEnd_toEndOf="@+id/imageView18"
app:layout_constraintHorizontal_bias="0.136"
app:layout_constraintStart_toStartOf="@+id/imageView18"
app:layout_constraintTop_toBottomOf="@+id/textView30" />
<ImageView
android:id="@+id/imageView115"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="40dp"
app:layout_constraintEnd_toEndOf="@+id/imageView14"
app:layout_constraintTop_toBottomOf="@+id/textView31"
app:srcCompat="@drawable/img_95" />
<ImageView
android:id="@+id/imageView116"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="40dp"
app:layout_constraintStart_toStartOf="@+id/imageView17"
app:layout_constraintTop_toBottomOf="@+id/textView32"
app:srcCompat="@drawable/img_95" />
<ImageView
android:id="@+id/imageView118"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="40dp"
app:layout_constraintEnd_toEndOf="@+id/imageView115"
app:layout_constraintTop_toBottomOf="@+id/textView134"
app:srcCompat="@drawable/img_95" />
<ImageView
android:id="@+id/imageView119"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
app:layout_constraintEnd_toEndOf="@+id/textView33"
app:layout_constraintStart_toStartOf="@+id/textView33"
app:layout_constraintTop_toBottomOf="@+id/textView33"
app:srcCompat="@drawable/img_97" />
<ImageView
android:id="@+id/imageView120"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
app:layout_constraintEnd_toEndOf="@+id/textView31"
app:layout_constraintStart_toStartOf="@+id/textView31"
app:layout_constraintTop_toBottomOf="@+id/textView31"
app:srcCompat="@drawable/img_97" />
<ImageView
android:id="@+id/imageView121"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
app:layout_constraintEnd_toEndOf="@+id/textView32"
app:layout_constraintStart_toStartOf="@+id/textView32"
app:layout_constraintTop_toBottomOf="@+id/textView32"
app:srcCompat="@drawable/img_97" />
<ImageView
android:id="@+id/imageView122"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginStart="8dp"
app:layout_constraintEnd_toEndOf="@+id/textView134"
app:layout_constraintStart_toStartOf="@+id/textView134"
app:layout_constraintTop_toBottomOf="@+id/textView134"
app:srcCompat="@drawable/img_97" />
<ImageView
android:id="@+id/imageView123"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
app:layout_constraintEnd_toEndOf="@+id/textView137"
app:layout_constraintStart_toStartOf="@+id/textView137"
app:layout_constraintTop_toBottomOf="@+id/textView137"
app:srcCompat="@drawable/img_97" />
<ImageView
android:id="@+id/imageView124"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
app:layout_constraintEnd_toEndOf="@+id/textView138"
app:layout_constraintStart_toStartOf="@+id/textView138"
app:layout_constraintTop_toBottomOf="@+id/textView138"
app:srcCompat="@drawable/img_97" />
app:layout_constraintTop_toTopOf="parent" />
</androidx.constraintlayout.widget.ConstraintLayout>
<androidx.constraintlayout.widget.ConstraintLayout

View File

@ -0,0 +1,88 @@
<?xml version="1.0" encoding="utf-8"?>
<androidx.constraintlayout.widget.ConstraintLayout 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:id="@+id/constraint"
android:layout_width="match_parent"
android:layout_height="220dp">
<ImageView
android:id="@+id/imageLeft1"
android:layout_width="94dp"
android:layout_height="94dp"
android:layout_marginStart="43dp"
android:layout_marginTop="13dp"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent"
app:srcCompat="@drawable/img_95" />
<ImageView
android:id="@+id/imageRight1"
android:layout_width="94dp"
android:layout_height="94dp"
android:layout_marginTop="13dp"
android:layout_marginEnd="53dp"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintTop_toTopOf="parent"
app:srcCompat="@drawable/img_96" />
<TextView
android:id="@+id/textviewl1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="16dp"
android:text="人物名字"
app:layout_constraintEnd_toEndOf="@+id/imageLeft1"
app:layout_constraintStart_toStartOf="@+id/imageLeft1"
app:layout_constraintTop_toBottomOf="@+id/imageLeft1" />
<TextView
android:id="@+id/textViewl2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="8dp"
android:text="人物的简单介绍"
app:layout_constraintEnd_toEndOf="@+id/imageLeft1"
app:layout_constraintHorizontal_bias="0.136"
app:layout_constraintStart_toStartOf="@+id/imageLeft1"
app:layout_constraintTop_toBottomOf="@+id/textviewl1" />
<ImageView
android:id="@+id/imageLeft2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
app:layout_constraintEnd_toEndOf="@+id/textViewl2"
app:layout_constraintStart_toStartOf="@+id/textViewl2"
app:layout_constraintTop_toBottomOf="@+id/textViewl2"
app:srcCompat="@drawable/img_97" />
<TextView
android:id="@+id/textviewr1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="16dp"
android:text="人物名字"
app:layout_constraintEnd_toEndOf="@+id/imageRight1"
app:layout_constraintStart_toStartOf="@+id/imageRight1"
app:layout_constraintTop_toBottomOf="@+id/imageRight1" />
<TextView
android:id="@+id/textviewr2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="8dp"
android:text="人物的简单介绍"
app:layout_constraintEnd_toEndOf="@+id/imageRight1"
app:layout_constraintHorizontal_bias="0.87"
app:layout_constraintStart_toStartOf="@+id/imageRight1"
app:layout_constraintTop_toBottomOf="@+id/textviewr1" />
<ImageView
android:id="@+id/imageRight2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
app:layout_constraintEnd_toEndOf="@+id/textviewr2"
app:layout_constraintStart_toStartOf="@+id/textviewr2"
app:layout_constraintTop_toBottomOf="@+id/textviewr2"
app:srcCompat="@drawable/img_97" />
</androidx.constraintlayout.widget.ConstraintLayout>