🙂 İNSANLARIN EN HAYIRLISI INSANLARA FAYDALI OLANDIR 🙂

Ramazan HABER / FLUTTER / dynamic dinamik custom radiobutton kullanımı one time choice radio buttons

1-) FLUTTER - dynamic dinamik custom radiobutton kullanımı one time choice radio buttons

 

kaynak : https://stackoverflow.com/questions/62085162/flutter-one-time-choice-radio-buttons

 

1-)  EKRAN GÖRÜNTÜSÜ

 

 

 

 

2-)  KULLANIMI

 

 

List<String> saatList = [
  
"9:00-12:00",
  
"12:00-15:00",
  
"15:00-18:00",
  
"18:00-21:00"
];
String seciliSaat = "9:00-12:00";

Widget saatSec() {
  
return Container(
      height:
150,
      padding:
EdgeInsets.only(left: 5,right: 5),
      child:
GridView.builder(
        itemCount:
saatList.length,
        gridDelegate:
SliverGridDelegateWithFixedCrossAxisCount(
          crossAxisCount:
2,
          mainAxisExtent:
60, // yükseklik demek
        
),
        itemBuilder: (
BuildContext contex, int index) {
          
String data = saatList[index];

          
return InkWell(
            onTap: (){
              setState(() {
                
seciliSaat = data;
              });
            },
            child:
Card(
              semanticContainer:
true,
              clipBehavior:
Clip.antiAliasWithSaveLayer,
              shape:
RoundedRectangleBorder(
                borderRadius:
BorderRadius.circular(10.0),
              ),
              elevation:
8,
              child:
Row(
                mainAxisAlignment:
MainAxisAlignment.center,
                children: [
                  
Container(
                    width:
20,
                    height:
20,
                    child:
Radio(
                        
// title: Text(data),
                        // contentPadding: EdgeInsets.all(0),
                        
value: data,
                        groupValue:
seciliSaat,
                        onChanged: (val) {
                          setState(() {
                            
seciliSaat = val.toString();
                          });
                        }),
                  ),
                  
SizedBox(width: 5,),
                  
Container(
                      child:
Text(
                    
data,

                    style: TextStyle(fontWeight: FontWeight.bold,fontSize: 15),

                    textAlign: TextAlign.left,
                  ))
                ],
              ),
            ),
          );
        },
      ));
}

 

 

 2022 Kasım 23 Çarşamba
 342