如何在颤振中使用径向量规?

问题描述 投票:0回答:1

我正在尝试在颤振中实现径向量规。 Syncfusion 提供了一些令人兴奋的软件包。但这些都是经过许可的。您能推荐具有相同功能的软件包吗?

flutter dart dart-pub
1个回答
0
投票
    // lib/main.dart
    import 'package:flutter/material.dart';
    
    void main() {
      runApp(MyApp());
    }
    
    class MyApp extends StatelessWidget {
      @override
      Widget build(BuildContext context) {
        return MaterialApp(
          title: 'Loan Management',
          theme: ThemeData(
            primarySwatch: Colors.blue,
          ),
          home: LoanManagementPage(),
        );
      }
    }
    
    class LoanManagementPage extends StatefulWidget {
      @override
      _LoanManagementPageState createState() => _LoanManagementPageState();
    }
    
    class _LoanManagementPageState extends State<LoanManagementPage> {
      int loanAmount = 0;
      int repaymentDays = 3;
    
      @override
      Widget build(BuildContext context) {
        return Scaffold(
          appBar: AppBar(
            title: Text('Loan Management'),
          ),
          body: Padding(
            padding: const EdgeInsets.all(16.0),
            child: Column(
              children: <Widget>[
                // Image placeholder
                Container(
                  height: 100,
                  color: Colors.grey[300],
                  child: Center(child: Text('Image Placeholder')),
                ),
                SizedBox(height: 20),
                // Main text
                Text(
                  'Want to buy stuff?',
                  style: TextStyle(fontSize: 24),
                ),
                SizedBox(height: 20),
                // Repayment schedule
                Text(
                  'Repayment Schedule:',
                  style: TextStyle(fontSize: 18),
                ),
                Row(
                  mainAxisAlignment: MainAxisAlignment.spaceEvenly,
                  children: <Widget>[
                    ElevatedButton(
                      onPressed: () {
                        setState(() {
                          repaymentDays = 3;
                        });
                      },
                      child: Text('3 Days'),
                      style: ElevatedButton.styleFrom(
                        backgroundColor: repaymentDays == 3 ? Colors.blue : Colors.grey,
                      ),
                    ),
                    ElevatedButton(
                      onPressed: () {
                        setState(() {
                          repaymentDays = 6;
                        });
                      },
                      child: Text('6 Days'),
                      style: ElevatedButton.styleFrom(
                        backgroundColor: repaymentDays == 6 ? Colors.blue : Colors.grey,
                      ),
                    ),
                    ElevatedButton(
                      onPressed: () {
                        setState(() {
                          repaymentDays = 12;
                        });
                      },
                      child: Text('12 Days'),
                      style: ElevatedButton.styleFrom(
                        backgroundColor: repaymentDays == 12 ? Colors.blue : Colors.grey,
                      ),
                    ),
                  ],
                ),
                SizedBox(height: 20),
                // Loan amount adjustment
                Text(
                  'Loan Amount: \$${loanAmount.toString()}',
                  style: TextStyle(fontSize: 18),
                ),
                Row(
                  mainAxisAlignment: MainAxisAlignment.spaceEvenly,
                  children: <Widget>[
                    IconButton(
                      icon: Icon(Icons.remove),
                      onPressed: () {
                        setState(() {
                          if (loanAmount > 0) loanAmount -= 100;
                        });
                      },
                    ),
                    IconButton(
                      icon: Icon(Icons.add),
                      onPressed: () {
                        setState(() {
                          loanAmount += 100;
                        });
                      },
                    ),
                  ],
                ),
              ],
            ),
          ),
        );
      }
    }


// lib/stock_management.dart
import 'package:flutter/material.dart';
import 'stock_detail.dart';

class StockManagementPage extends StatelessWidget {
  final List<Map<String, String>> stocks = [
    {'name': 'Microsoft', 'ticker': 'MSFT', 'status': 'up'},
    {'name': 'Apple', 'ticker': 'AAPL', 'status': 'down'},
    {'name': 'Google', 'ticker': 'GOOGL', 'status': 'down'},
  ];

  @override
  Widget build(BuildContext context) {
    return Scaffold(
      appBar: AppBar(
        title: Text('Stocks'),
      ),
      body: ListView.builder(
        itemCount: stocks.length,
        itemBuilder: (context, index) {
          return ListTile(
            title: Text(stocks[index]['name']!),
            subtitle: Text(stocks[index]['ticker']!),
            trailing: Icon(
              stocks[index]['status'] == 'up' ? Icons.arrow_upward : Icons.arrow_downward,
              color: stocks[index]['status'] == 'up' ? Colors.green : Colors.red,
            ),
            onTap: () {
              Navigator.push(
                context,
                MaterialPageRoute(
                  builder: (context) => StockDetailPage(stock: stocks[index]),
                ),
              );
            },
          );
        },
      ),
    );
  }
}

// lib/stock_detail.dart
import 'package:flutter/material.dart';

class StockDetailPage extends StatelessWidget {
  final Map<String, String> stock;

  StockDetailPage({required this.stock});

  @override
  Widget build(BuildContext context) {
    return Scaffold(
      appBar: AppBar(
        title: Text('${stock['name']} Details'),
      ),
      body: Padding(
        padding: const EdgeInsets.all(16.0),
        child: Column(
          children: <Widget>[
            Text(
              '${stock['name']} (${stock['ticker']})',
              style: TextStyle(fontSize: 24, fontWeight: FontWeight.bold),
            ),
            SizedBox(height: 20),
            Text(
              'Current Value: \$${stock['value'] ?? '0.00'}', // Add a stock value if needed
              style: TextStyle(fontSize: 18),
            ),
            Spacer(),
            Row(
              mainAxisAlignment: MainAxisAlignment.spaceEvenly,
              children: <Widget>[
                ElevatedButton(
                  onPressed: () {
                    // Add your buy logic here
                  },
                  child: Text('Buy'),
                ),
                ElevatedButton(
                  onPressed: () {
                    // Add your sell logic here
                  },
                  child: Text('Sell'),
                ),
              ],
            ),
          ],
        ),
      ),
    );
  }
}
© www.soinside.com 2019 - 2024. All rights reserved.