Picasso'yu kullanarak bir görüntüyü indiren ve bunu ImageView'da görüntüleyen bir parçam var. Sorun, resmin dikey modda olması ve telefonun yatay moda geçmesi durumunda aynı görüntü esnetilir. Çözüm aradım ama genel anlamda sahip olduğum şey sadece 90 derece döndürmek. Ama istediğim bu değil. İki farklı görüntü yüklemek istiyorum, yani bir resim URL'si portre modu için, diğeri manzara modu için olacak. Oryantasyon değişikliğini tespit ettim ve görüntüleri buna göre yükledim. Bu işe yaramadı. Yatay modda da, portre görüntüleri yükleniyordu. Baska öneri?Picasso, dikey ve yatay modda farklı görüntüler yükler
public class FragmentOne extends Fragment{
Button next, previous;
ProportionalImageView imageView;
@Nullable
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
return inflater.inflate(R.layout.fragmentone, container, false);
}
@Override
public void onViewCreated(View view, @Nullable Bundle savedInstanceState) {
super.onViewCreated(view, savedInstanceState);
next = (Button)view.findViewById(R.id.next);
previous = (Button)view.findViewById(R.id.previous);
imageView = (ProportionalImageView)view.findViewById(R.id.image);
Picasso.with(getActivity())
.load("http://i.imgur.com/h5iwVmh.jpg")
.placeholder(R.drawable.placeholder)
.into(imageView);
next.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
((ViewPager) ((MainActivity)getActivity()).findViewById(R.id.pager)).setCurrentItem(1);
}
});
previous.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
((ViewPager) ((MainActivity)getActivity()).findViewById(R.id.pager)).setCurrentItem(-1);
}
});
}
@Override
public void onConfigurationChanged(Configuration newConfig) {
super.onConfigurationChanged(newConfig);
// Checks the orientation of the screen
if (newConfig.orientation == Configuration.ORIENTATION_LANDSCAPE) {
Picasso.with(getActivity())
.load("http://i.imgur.com/H0IXUy0.jpg")
.placeholder(R.drawable.placeholder)
.into(imageView);
} else if (newConfig.orientation == Configuration.ORIENTATION_PORTRAIT){
Picasso.with(getActivity())
.load("http://i.imgur.com/h5iwVmh.jpg")
.placeholder(R.drawable.placeholder)
.into(imageView);
}
}
}
Kontrol ettiniz? ve kod akışı doğru çalışıyor –
Portre iyi çalışıyor. Modu yatay olarak değiştirmeye çalıştığımda, hala dikey görüntü URL'sini yükler. –
Uygulamanın doğru orritasyonunu algıladığını kontrol etmek için '' else' içinde 'onConfigurationChanged' içinde bazı logcat yazabilirsiniz –