У меня относительно простой вид переработчика, с изображениями, которые выбирает пользователь. Некоторые из этих изображений могут быть повернуты на 90, 180, 270 градусов. Я не смог получить изображения, которые вращаются для правильного отображения, они всегда обрезаны. На следующих изображениях показано, как выглядит простое изображение как в обычной ориентации (альбомная ориентация), так и с поворотом на 90 градусов (портретная и обрезанная). Также соответствующие разделы кода прилагаются. Любые указатели очень ценятся.
@Override
public void onBindViewHolder(@NonNull PickerViewHolder holder, int position) {
final ViewGroup parent = (ViewGroup) holder.itemView;
// clear out any existing children
parent.removeAllViews();
final ImageView view = new ImageView(ActivityJigsaw.this);
view.setScaleType(ImageView.ScaleType.CENTER);
view.setImageResource(R.drawable.whitebox);
view.setAdjustViewBounds(true);
if ((toggle & 1) == 0 ) view.setRotation(90f);
toggle ^= 1;
parent.addView(view, holder.viewLayoutParams);
}
class PickerViewHolder extends RecyclerView.ViewHolder {
private final FrameLayout.LayoutParams viewLayoutParams;
private final FrameLayout.LayoutParams shadowLayoutParams;
PickerViewHolder(final View itemView) {
super(itemView);
// generate layout parameters
viewLayoutParams = new FrameLayout.LayoutParams(FrameLayout.LayoutParams.WRAP_CONTENT, FrameLayout.LayoutParams.WRAP_CONTENT, Gravity.CENTER);
}
}