Mam pionowy LinearLayout, w którym jeden z elementów jest ImageView
ładowany za pomocą Picassa. Muszę zwiększyć szerokość obrazu do pełnej szerokości urządzenia i wyświetlić środkową część obrazu przyciętego o ustaloną wysokość (150 dp). Obecnie mam następujący kod:
Picasso.with(getActivity())
.load(imageUrl)
.placeholder(R.drawable.placeholder)
.error(R.drawable.error)
.resize(screenWidth, imageHeight)
.centerInside()
.into(imageView);
Jakie wartości powinienem wpisać screenWidth
i imageHeight
(= 150 dp)?
.fit().centerInside()
zadziałało dla mnie, gdzie samo użycie.centerInside()
powodowało awarię zCenter inside requires calling resize with positive width and height.
komunikatem o błędzie..fit().centerCrop()
lub.fit().centerInside()
nie działa. Obraz się nie ładujeimageView
. bez.fit()
obrazu ładuje się dobrze. Nie używam.resize()
w obu przypadkach.W niektórych przypadkach funkcja fit () jest bezużyteczna. Zanim będziesz musiał zaczekać na zakończenie pomiaru szerokości i wysokości. Możesz więc użyć globallayoutlistener. na przykład;
źródło