<?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:layout_width="match_parent"
android:layout_height="match_parent"
android:padding="16dp"
android:background="@drawable/bg_01"
tools:context=".ui.analysis.AnalysisFragment">
<!-- 数据导入模块 -->
<com.google.android.material.card.MaterialCardView
android:id="@+id/card_import_data"
android:layout_width="0dp"
android:layout_height="wrap_content"
app:cardCornerRadius="20dp"
app:cardElevation="8dp"
app:cardBackgroundColor="#CCFFF3E0"
app:strokeColor="#FFFFCC80"
app:strokeWidth="2dp"
android:layout_marginBottom="16dp"
app:layout_constraintTop_toTopOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintEnd_toEndOf="parent">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical"
android:padding="20dp"
android:gravity="center">
<ImageView
android:layout_width="48dp"
android:layout_height="48dp"
android:src="@drawable/baseline_file_upload_24"
android:contentDescription="数据导入"
app:tint="#FB8C00" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="导入数据"
android:textColor="#E65100"
android:textSize="18sp"
android:textStyle="bold"
android:layout_marginTop="8dp"/>
</LinearLayout>
</com.google.android.material.card.MaterialCardView>
<!-- 数据可视化模块 -->
<com.google.android.material.card.MaterialCardView
android:id="@+id/card_data_visualization"
android:layout_width="0dp"
android:layout_height="120dp"
app:cardCornerRadius="20dp"
app:cardElevation="8dp"
app:cardBackgroundColor="#CCE3F2FD"
app:strokeColor="#FF90CAF9"
app:strokeWidth="2dp"
android:layout_marginTop="16dp"
android:layout_marginBottom="8dp"
app:layout_constraintTop_toBottomOf="@id/card_import_data"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintEnd_toEndOf="parent">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical"
android:padding="10dp"
android:gravity="center">
<ImageView
android:layout_width="48dp"
android:layout_height="48dp"
android:src="@drawable/baseline_bar_chart_24"
android:contentDescription="数据可视化"
app:tint="#1976D2" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="数据可视化"
android:textColor="#0D47A1"
android:textSize="18sp"
android:textStyle="bold"
android:layout_marginTop="8dp"/>
</LinearLayout>
</com.google.android.material.card.MaterialCardView>
<!-- 新增生成按钮 -->
<com.google.android.material.button.MaterialButton
android:id="@+id/btn_generate"
android:layout_width="200dp"
android:layout_height="wrap_content"
android:layout_marginTop="16dp"
android:layout_marginHorizontal="24dp"
android:text="生成可视化数据"
android:textColor="@android:color/white"
app:icon="@drawable/baseline_visibility_24"
app:iconTint="@android:color/white"
app:backgroundTint="#2196F3"
app:cornerRadius="12dp"
app:layout_constraintTop_toBottomOf="@id/card_data_visualization"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintEnd_toEndOf="parent"/>
<!-- 新增提示文字 -->
<TextView
android:id="@+id/tv_visualization_tip"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="请先导入数据后再生成可视化数据"
android:textColor="@color/black"
android:textSize="10sp"
android:layout_marginTop="2dp"
app:layout_constraintTop_toBottomOf="@id/btn_generate"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintEnd_toEndOf="parent"/>
<!-- 生成报告模块 -->
<com.google.android.material.card.MaterialCardView
android:id="@+id/card_generate_report"
android:layout_width="0dp"
android:layout_height="wrap_content"
app:cardCornerRadius="20dp"
app:cardElevation="8dp"
app:cardBackgroundColor="#CCF1F8E9"
app:strokeColor="#FFA5D6A7"
app:strokeWidth="2dp"
android:layout_marginBottom="4dp"
android:layout_marginTop="30dp"
app:layout_constraintTop_toBottomOf="@id/card_data_visualization"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintEnd_toEndOf="parent">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical"
android:padding="20dp"
android:gravity="center">
<ImageView
android:layout_width="48dp"
android:layout_height="48dp"
android:src="@drawable/baseline_description_24"
android:contentDescription="生成报告"
app:tint="#388E3C" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="生成报告"
android:textColor="#1B5E20"
android:textSize="18sp"
android:textStyle="bold"
android:layout_marginTop="8dp"/>
</LinearLayout>
</com.google.android.material.card.MaterialCardView>
</androidx.constraintlayout.widget.ConstraintLayout>
package com.di.appforbridge.ui.analysis;
import android.os.Bundle;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.TextView;
import androidx.annotation.NonNull;
import androidx.fragment.app.Fragment;
import androidx.lifecycle.ViewModelProvider;
import com.di.appforbridge.databinding.FragmentDataAnalysisBinding;
public class AnalysisFragment extends Fragment {
private FragmentDataAnalysisBinding binding;
public View onCreateView(@NonNull LayoutInflater inflater,
ViewGroup container, Bundle savedInstanceState) {
//AnalysisViewModel notificationsViewModel =
// new ViewModelProvider(this).get(AnalysisViewModel.class);
binding = FragmentDataAnalysisBinding.inflate(inflater, container, false);
View root = binding.getRoot();
//final TextView textView = binding.textAnalysis;
//notificationsViewModel.getText().observe(getViewLifecycleOwner(), textView::setText);
return root;
}
@Override
public void onDestroyView() {
super.onDestroyView();
binding = null;
}
}