나는 당신을위한 해결책을 찾았다 고 생각합니다. 사용자 정의 역방향보기를 래퍼로 사용하여 전체 레이아웃을 뒤집습니다.
아래 예제 코드를 실행 해보십시오.
public class MainActivity extends Activity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
int layoutId = R.layout.main;
View content = getLayoutInflater().inflate(layoutId, null);
ReverseView wraper = new ReverseView(this);
wraper.addView(content);
setContentView(wraper);
}
public class ReverseView extends FrameLayout {
public ReverseView(Context context) {
super(context);
}
@Override
protected void dispatchDraw(Canvas canvas) {
canvas.save();
int px = getWidth()/2;
int py = getHeight()/2;
canvas.rotate(180, px, py);
super.dispatchDraw(canvas);
canvas.restore();
}
}
}
'Activity'에서'setRequestedOrientation (int requestedOrientation)'을 가지고 놀았습니까? 회전이 현재 방향에 적용되어야하는지 (즉, 가로 및 세로를 모두 지원하는지 또는 특정 방향으로 고정되어 있는지 여부) 확실하지 않으므로 적절한 'inverse '. API 레벨 9 이상을 목표로한다고 가정 해 봅시다 * * * 앱이 세로로 고정 된 다음, 예를 들어'setRequestedOrientation (ActivityInfo.SCREEN_ORIENTATION_REVERSE_PORTRAIT')을 시도해보십시오. 참고 사항 : * 귀하의 활동을 파괴하고 다시 만듭니다. –
@MH이 답변이 올바른 것 같지만 지금까지는 아무 것도하지 않는 것 같습니다. 나는 조금 더 고마워 할 것이다. 고마워. onCreate btw에서 setRequestedOrientation을 호출하고 있습니다. 이것이 무한 루프를 생성 할 가능성이 있습니까? – Billakosama