Używam Fluttera do tworzenia listy informacji o filmach. Teraz chcę, aby obraz okładki po lewej stronie był obrazem z zaokrąglonymi rogami. Wykonałem następujące czynności, ale to nie zadziałało. Dzięki!
getItem(var subject) {
var row = Container(
margin: EdgeInsets.all(8.0),
child: Row(
children: <Widget>[
Container(
width: 100.0,
height: 150.0,
decoration: BoxDecoration(
borderRadius: BorderRadius.all(Radius.circular(8.0)),
color: Colors.redAccent,
),
child: Image.network(
subject['images']['large'],
height: 150.0,
width: 100.0,
),
),
],
),
);
return Card(
color: Colors.blueGrey,
child: row,
);
}
następująco
flutter
flutter-layout
Liu Silong
źródło
źródło
Odpowiedzi:
Użyj
ClipRRect
go, zadziała idealnieźródło
fit: BoxFit.fill
, wygląda całkiem nieźle.Container( decoration: BoxDecoration( borderRadius: BorderRadius.circular(3.0), border: Border.all(color: Colors.grey[300])), child: ClipRRect( borderRadius: BorderRadius.circular(3.0), child: Image.network( uri, fit: BoxFit.fill, width: imageDimension, height: imageDimension, ), ), )
Możesz także użyć
CircleAvatar
, który jest wyposażony w trzepotanieźródło
backgroundImage: member[index].picture == null ? Image(image: AssetImage('assests/no-image.png')) : NetworkImage( member[index].picture,
Używając
ClipRRect
musisz zakodować na stałeBorderRadius
, więc jeśli potrzebujesz kompletnych okrągłych rzeczy, użyjClipOval
zamiast tego.źródło
Spróbuj tego zamiast tego, zadziałało dla mnie:
źródło
źródło
Do obrazu użyj tego
Podczas gdy dla Asset Image użyj tego
źródło
W nowej wersji motywu flutter i materiału musisz również użyć widżetu „Padding”, aby uzyskać obraz, który nie wypełnia swojego pojemnika.
Na przykład, jeśli chcesz wstawić zaokrąglony obraz w AppBar, musisz użyć dopełnienia lub twój obraz będzie zawsze tak wysoki jak AppBar.
Mam nadzieję, że to komuś pomoże
źródło
możesz użyć ClipRRect w ten sposób:
możesz ustawić swój promień lub użytkownika tylko dla górnego lewego lub dolnego lewego, na przykład:
źródło
Użyj ClipRRect z ustawioną właściwością obrazu fit: BoxFit.fill
źródło
Użyj ClipRRect, to rozwiąże twój problem.
źródło
Użyj tego sposobu w tym okrągłym obrazie również działa + masz preloader również dla obrazu sieciowego:
źródło
Spróbuj To działa dobrze.
źródło
Dekoracja użytkownika Obraz kontenera.
źródło