[英]Android Studios: Unlock Screen Orientation On Button Click
I setup a program where there is an image and a select button. 我设置了一个程序,其中有一个图像和一个选择按钮。 When you press select the button disappears and a new back button appears. 当您按下选择按钮时,该按钮消失并且出现一个新的后退按钮。 I want the app to be locked on portrait mode, but when you press select I want the screen rotation to unlock, and when turned sideways i want the image to fill be the center of the screen, and the back button to disappear. 我希望应用程序锁定为纵向模式,但是当您按下选择时,我希望屏幕旋转解锁,而侧面转动时,我希望图像填充为屏幕的中心,而后退按钮消失。 When turned sideways again I want the back button to reappear. 当再次侧向旋转时,我希望后退按钮重新出现。 When the back button is clicked it disappears and the select button returns again. 单击后退按钮时,它消失,选择按钮再次返回。 I want it to lock the screen to portrait again. 我希望它再次将屏幕锁定为纵向。
If this is possible I would really appreciate any help! 如果可能的话,我将非常感谢您的帮助! Thanks! 谢谢!
public class MainActivity extends AppCompatActivity {
private Button select;
private Button right;
private Button left;
private Button back;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN,
WindowManager.LayoutParams.FLAG_FULLSCREEN);
setContentView(R.layout.activity_main);
select = findViewById(R.id.select);
left = findViewById(R.id.button2);
right = findViewById(R.id.button3);
back = findViewById(R.id.back);
back.setVisibility(View.INVISIBLE);
select.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
right.setVisibility(View.INVISIBLE);
left.setVisibility(View.INVISIBLE);
back.setVisibility(View.VISIBLE);
select.setVisibility(View.INVISIBLE);
}
});
back.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
right.setVisibility(View.VISIBLE);
left.setVisibility(View.VISIBLE);
back.setVisibility(View.INVISIBLE);
select.setVisibility(View.VISIBLE);
}
});
}
}
You can lock and unlock the orientation whenever you need want to by calling methods like these 您可以在需要时通过调用此类方法来锁定和解锁方向
/** Locks the device window in landscape mode. */
activity.setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_LANDSCAPE);
/** Locks the device window in portrait mode. */
activity.setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_PORTRAIT);
/** Allows user to freely use portrait or landscape mode. */
activity.setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_UNSPECIFIED);
It is up to you when you want to call them 呼叫他们取决于您
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.