Skip to content
Snippets Groups Projects
Commit 2ad2e78c authored by Anager's avatar Anager
Browse files

added shared preferences

parent b226af95
No related branches found
No related tags found
1 merge request!2Home page chaitanya
import 'package:flutter/cupertino.dart';
import 'package:flutter/foundation.dart';
import 'package:flutter/material.dart';
import 'package:deggendorf_app/bottom_navigation_bar_buttons/settings/dropdownbutton.dart';
import 'package:deggendorf_app/bottom_navigation_bar_buttons/settings/standardsettingbutton.dart';
import 'package:shared_preferences/shared_preferences.dart';
class SettingScreen extends StatelessWidget {
const SettingScreen({Key? key}) : super(key: key);
......@@ -33,3 +30,174 @@ class SettingScreen extends StatelessWidget {
);
}
}
class DropdownSettingButton extends StatefulWidget {
const DropdownSettingButton({Key? key}) : super(key: key);
@override
State<DropdownSettingButton> createState() => _DropdownSettingButtonState();
}
class _DropdownSettingButtonState extends State<DropdownSettingButton> {
bool _expanded = false;
String currentCity = "Deggendorf";
getCurrentCityFromSharedPreferences() async {
SharedPreferences prefs = await SharedPreferences.getInstance();
String val = prefs.getString('currentCity') ?? "Not Selected";
currentCity = val;
}
setCurrentCityInSharedPreferences(String newCity) async{
SharedPreferences prefs = await SharedPreferences.getInstance();
prefs.setString('currentCity', newCity);
}
@override
Widget build(BuildContext context) {
return ExpansionPanelList(
animationDuration: Duration(microseconds: 2000),
children:[
ExpansionPanel(
canTapOnHeader: true,
isExpanded: _expanded,
headerBuilder: (context, isExpanded){
return ListTile(
title: Text(currentCity,
style: TextStyle(fontSize: 22, color: Color.fromRGBO(
1, 1, 1, 0.49411764705882355))
),
);
},
body: Column(
children: <Widget> [
TextButton(
onPressed: (){
setCurrentCityInSharedPreferences("Deggendorf");
_expanded = false;
getCurrentCityFromSharedPreferences();
setState(() {
});
},
child: Text(
"Deggendorf", style: TextStyle(fontSize: 20, color: Color.fromRGBO(
1, 1, 1, 0.49411764705882355)),
)
),
TextButton(
onPressed: (){
setCurrentCityInSharedPreferences("Plattling");
_expanded = false;
getCurrentCityFromSharedPreferences();
setState(() {
});
},
child: Text(
"Plattling", style: TextStyle(fontSize: 20, color: Color.fromRGBO(
1, 1, 1, 0.49411764705882355)),
)
),
],
)
)
],
expansionCallback: (panelIndex, isExpanded){
_expanded = !_expanded;
setState(() {
});
},
);
}
}
class StandardSettingButton extends StatefulWidget {
const StandardSettingButton({Key? key,
required this.xOffset,
required this.title,
required this.label
}) : super(key: key);
final double xOffset;
final String title;
final String label;
@override
State<StandardSettingButton> createState() => _StandardSettingButtonState();
}
class _StandardSettingButtonState extends State<StandardSettingButton> {
bool isPassword(){
if (widget.title == "Kennwort"){
return true;
}
return false;
}
@override
Widget build(BuildContext context) {
return TextButton(
onPressed: (){
showDialog(
context: context,
builder: (context) => AlertDialog(
title: Text(
"Wollen Sie ${widget.title} ändern?",
style: TextStyle(
fontSize: 16
),
),
content: TextField(
obscureText: isPassword() ,
decoration: InputDecoration(
hintText: "geben Sie ${widget.title} ein"
),
),
actions: [
TextButton(
onPressed: (){Navigator.pop(context);},
child: Text("ändern")
),
TextButton(
onPressed: (){
Navigator.pop(context);
},
child: Text("abbrechen")
)
],
),
);
},
child: Row(
children: <Widget>[
Column(
crossAxisAlignment: CrossAxisAlignment.start,
children: [
Text(
widget.title,
style: TextStyle(fontSize: 25, color: Color.fromRGBO(
1, 1, 1, 0.49411764705882355)),
),
Text(
"drücken um das ${widget.title} zu ändern",
style: TextStyle(fontSize: 10, color: Color.fromRGBO(
1, 1, 1, 0.3764705882352941)),
)
],
),
SizedBox(
width: widget.xOffset,
),
Icon(
Icons.keyboard_arrow_right_rounded,
color: Color.fromRGBO(1, 1, 1, 0.49411764705882355),
size: 40,
)
],
)
);
}
}
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment