Как отключить / включить переключатель в Android?

#flutter #dart

#flutter #dart

Вопрос:

Я хочу включить / выключить системный переключатель, нажав кнопку в моем приложении.

Например, я хочу нажать свою кнопку в приложении, и после этого этот переключатель отключит Настройки -> Пароли и безопасность -> Конфиденциальность -> Раздел программы использования опыта -> Автоматическая отправка диагностических данных (выкл.)

Комментарии:

1. Спасибо, @maruf-hassan, но вопрос заключался в том, как сохранить этот путь «Настройки -> Пароли и безопасность -> Конфиденциальность -> Раздел программы использования опыта -> Автоматическая отправка диагностических данных» в переменной? Это понятно, например, в Windows очень легко настроить путь к любому файлу C:Program FilesFile.txt Но как определить переменную с такими настройками пути -> Пароли и безопасность …?

Ответ №1:

То, что вы ищете, называется Switch() виджетом.

 import 'package:flutter/material.dart';

void main() {
  runApp(MyApp());
}

class MyApp extends StatelessWidget {
  @override
  Widget build(BuildContext context) {
    return MaterialApp(
      debugShowCheckedModeBanner: false,
      home: Home(),
    );
  }
}

class Home extends StatefulWidget {
  @override
  _HomeState createState() => _HomeState();
}

class _HomeState extends State<Home> {
  bool isSwitched = false;
  @override
  Widget build(BuildContext context) {
    return Scaffold(
      appBar: AppBar(
        backgroundColor: Colors.green,
        title: Text("Switch Example"),
      ),
      body: Center(
        child: Switch(
          value: isSwitched,
          onChanged: (value){
            setState(() {
              isSwitched=value;
              print(isSwitched);
            });
          },
          activeTrackColor: Colors.lightGreenAccent,
          activeColor: Colors.green,
        ),
      ),
    );
  }
}
  

Измените setState , чтобы соответствовать вашему коду.

Комментарии:

1. Спасибо, Маруф! Как написать путь к этому переключателю Настройки -> Пароли и безопасность -> Конфиденциальность -> Раздел программы использования опыта -> Автоматическая отправка диагностических данных (выключено)?

2. Сохраните Send diagnostic data automatically как логическую переменную. Затем измените его на isSwitched в setState.