ユーザーがAndroid携帯電話を時計回り/反時計回りに回転させたときに、画面の向きを縦向きから横向きに、またはその逆に変更したいと考えています。誰でもこれを達成する方法を手伝ってもらえますか? ユーザーが Android 携帯電話を回転させたときに発生するイベントがわかりません。
たとえば、ユーザーが UI のボタンに触れると、 touch イベントが発生します。では、ユーザーが Android 携帯電話を振ると、どのようなイベントが発生するのでしょうか? これについて私を助けてください。
ユーザーがAndroid携帯電話を時計回り/反時計回りに回転させたときに、画面の向きを縦向きから横向きに、またはその逆に変更したいと考えています。誰でもこれを達成する方法を手伝ってもらえますか? ユーザーが Android 携帯電話を回転させたときに発生するイベントがわかりません。
たとえば、ユーザーが UI のボタンに触れると、 touch イベントが発生します。では、ユーザーが Android 携帯電話を振ると、どのようなイベントが発生するのでしょうか? これについて私を助けてください。
ハイ、Georgy Gobozovの助けを借りて Solution を入手しましたが、適切に機能させるには、以下に示すようにその Solution を改良する必要があります。
@Override
public void onConfigurationChanged(Configuration newConfig) {
super.onConfigurationChanged(newConfig);
if(newConfig.equals(Configuration.ORIENTATION_LANDSCAPE))
{
setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_PORTRAIT);
}
else if(newConfig.equals(Configuration.ORIENTATION_PORTRAIT))
{
setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_LANDSCAPE);
}
}
public class Accelerometer extends Activity
implements AccelerometerListener{
public void onShake(float force) {
Toast.makeText(this, "Phone shaked : " + force, 1000).show();
}
}
以下のリンクを参照してください
http://blog.androgames.net/85/android-accelerometer-tutorial/
アクティビティで AndroidManifest に追加するだけです
android:configChanges="keyboardHidden|orientation"
次に、アクティビティでこのメソッドをオーバーライドする必要があります
@Override
public void onConfigurationChanged(Configuration newConfig) {
super.onConfigurationChanged(newConfig);
setContentView(R.layout.myLayout);
}
検索を使用すると、この質問は非常に人気があります。